Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

jesyspa/linear-cpp

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linear C++

A C++ tutorial that can (hopefully?) be followed without jumping from chapter to chapter at every step.

Downloads:

Building

Via a bash shell, compiling all chapters:

for a in Chapter*; do g++ -std=c++11 -o "$a/out" "$a"/*.cpp; done

On OSX:

  • You must install XCode and the Command Line Tools package. As of 9/04/2013, Mac OS X doesn't ship with a C++11 compiler.
  • Then use clang to build:
for a in Chapter*; do clang++ --std=c++11 --stdlib=libc++ "$a"/*.cpp -o "$a"/out; done

Also, when compiling your own files on either of those two platforms, I recommend you add -Wall and -Wextra to your flags. Clang users may also want to add -fsanitize=undefined.

Markdown and EPUB

Thanks to @Gullumluvl it's possible to export these chapters as Markdown or epub files!

To do so, just run

./cpp_2_markdown.py Chapter\ NN*

where NN is the number of the chapter.

You can use

./cpp_2_markdown.py .

to build the whole book.

For building an epub, make sure you have pandoc and run

pandoc -M author=jesyspa \
  --standalone \
  -V 'header-includes="<style>pre > code.sourceCode {white-space: pre-wrap !important;}</style>"' \
  --toc --toc-depth=1 \
  -o linear-cpp.epub \
  ebook.md

The header-includes argument is needed to wrap long code lines.

Future plans

This project is discontinued. I don't plan to update it for new C++ standards or add any new language features.

Outline of what's coming missing:

  • Practical Examples
  • Variants, Optional
  • Most of inheritance
  • Scope
  • Storage Duration
  • Undefined Behaviour
  • File IO
  • Libraries: Boost, Abseil...
  • Metaprogramming
  • C++14 and up
  • The preprocessor
  • Most C features

So while I'm glad people have found it useful, please don't rely on this by itself to learn C++! It really only scratches the surface, and you'll do yourself a service if you get a good book.

About

An attempt at a C++ tutorial.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Morty Proxy This is a proxified and sanitized view of the page, visit original site.