| Internal Links | Dofollow |
Main Page | Internal Links | Dofollow |
Site Index | Internal Links | Dofollow |
Leave feedback | Internal Links | Dofollow |
About / Contact | Internal Links | Dofollow |
Support LearnCpp | Internal Links | Dofollow |
site index | Internal Links | Dofollow |
Introduction to these tutorials | Internal Links | Dofollow |
Introduction to programming languages | Internal Links | Dofollow |
Introduction to C/C++ | Internal Links | Dofollow |
Introduction to C++ development | Internal Links | Dofollow |
Introduction to the compiler, linker, and libraries | Internal Links | Dofollow |
Installing an Integrated Development Environment (IDE) | Internal Links | Dofollow |
Compiling your first program | Internal Links | Dofollow |
A few common C++ problems | Internal Links | Dofollow |
Configuring your compiler: Build configurations | Internal Links | Dofollow |
Configuring your compiler: Compiler extensions | Internal Links | Dofollow |
Configuring your compiler: Warning and error levels | Internal Links | Dofollow |
Configuring your compiler: Choosing a language standard | Internal Links | Dofollow |
Statements and the structure of a program | Internal Links | Dofollow |
Comments | Internal Links | Dofollow |
Introduction to objects and variables | Internal Links | Dofollow |
Variable assignment and initialization | Internal Links | Dofollow |
Introduction to iostream: cout, cin, and endl | Internal Links | Dofollow |
Uninitialized variables and undefined behavior | Internal Links | Dofollow |
Keywords and naming identifiers | Internal Links | Dofollow |
Whitespace and basic formatting | Internal Links | Dofollow |
Introduction to literals and operators | Internal Links | Dofollow |
Introduction to expressions | Internal Links | Dofollow |
Developing your first program | Internal Links | Dofollow |
Chapter 1 summary and quiz | Internal Links | Dofollow |
Introduction to functions | Internal Links | Dofollow |
Function return values | Internal Links | Dofollow |
Introduction to function parameters and arguments | Internal Links | Dofollow |
Introduction to local scope | Internal Links | Dofollow |
Why functions are useful, and how to use them effectively | Internal Links | Dofollow |
Forward declarations and definitions | Internal Links | Dofollow |
Programs with multiple code files | Internal Links | Dofollow |
Naming collisions and an introduction to namespaces | Internal Links | Dofollow |
Introduction to the preprocessor | Internal Links | Dofollow |
Header files | Internal Links | Dofollow |
Header guards | Internal Links | Dofollow |
How to design your first programs | Internal Links | Dofollow |
Chapter 2 summary and quiz | Internal Links | Dofollow |
Syntax and semantic errors | Internal Links | Dofollow |
The debugging process | Internal Links | Dofollow |
A strategy for debugging | Internal Links | Dofollow |
Basic debugging tactics | Internal Links | Dofollow |
More debugging tactics | Internal Links | Dofollow |
Using an integrated debugger: Stepping | Internal Links | Dofollow |
Using an integrated debugger: Running and breakpoints | Internal Links | Dofollow |
Using an integrated debugger: Watching variables | Internal Links | Dofollow |
Using an integrated debugger: The call stack | Internal Links | Dofollow |
Finding issues before they become problems | Internal Links | Dofollow |
Chapter 3 summary and quiz | Internal Links | Dofollow |
Introduction to fundamental data types | Internal Links | Dofollow |
Void | Internal Links | Dofollow |
Object sizes and the sizeof operator | Internal Links | Dofollow |
Signed integers | Internal Links | Dofollow |
Unsigned integers, and why to avoid them | Internal Links | Dofollow |
Fixed-width integers and size_t | Internal Links | Dofollow |
Introduction to scientific notation | Internal Links | Dofollow |
Floating point numbers | Internal Links | Dofollow |
Boolean values | Internal Links | Dofollow |
Introduction to if statements | Internal Links | Dofollow |
Chars | Internal Links | Dofollow |
An introduction to std::string | Internal Links | Dofollow |
Literals | Internal Links | Dofollow |
Const, constexpr, and symbolic constants | Internal Links | Dofollow |
Chapter 4 summary and quiz | Internal Links | Dofollow |
Operator precedence and associativity | Internal Links | Dofollow |
Arithmetic operators | Internal Links | Dofollow |
Modulus and Exponentiation | Internal Links | Dofollow |
Increment/decrement operators, and side effects | Internal Links | Dofollow |
Comma and conditional operators | Internal Links | Dofollow |
Relational operators and floating point comparisons | Internal Links | Dofollow |
Logical operators | Internal Links | Dofollow |
Chapter 5 summary and quiz | Internal Links | Dofollow |
Bit flags and bit manipulation via std::bitset | Internal Links | Dofollow |
Bitwise operators | Internal Links | Dofollow |
Bit manipulation with bitwise operators and bit masks | Internal Links | Dofollow |
Converting between binary and decimal | Internal Links | Dofollow |
Compound statements (blocks) | Internal Links | Dofollow |
User-defined namespaces and the scope resolution operator | Internal Links | Dofollow |
Local variables | Internal Links | Dofollow |
Introduction to global variables | Internal Links | Dofollow |
Variable shadowing (name hiding) | Internal Links | Dofollow |
Internal linkage | Internal Links | Dofollow |
External linkage | Internal Links | Dofollow |
Why (non-const) global variables are evil | Internal Links | Dofollow |
Sharing global constants across multiple files (using inline variables) | Internal Links | Dofollow |
Static local variables | Internal Links | Dofollow |
Scope, duration, and linkage summary | Internal Links | Dofollow |
Using declarations and using directives | Internal Links | Dofollow |
Unnamed and inline namespaces | Internal Links | Dofollow |
Chapter 6 summary and quiz | Internal Links | Dofollow |
Control flow introduction | Internal Links | Dofollow |
If statements and blocks | Internal Links | Dofollow |
Common if statement problems | Internal Links | Dofollow |
Switch statement basics | Internal Links | Dofollow |
Switch fallthrough and scoping | Internal Links | Dofollow |
Goto statements | Internal Links | Dofollow |
Intro to loops and while statements | Internal Links | Dofollow |
Do while statements | Internal Links | Dofollow |
For statements | Internal Links | Dofollow |
Break and continue | Internal Links | Dofollow |
Halts (exiting your program early) | Internal Links | Dofollow |
Introduction to testing your code | Internal Links | Dofollow |
Code coverage | Internal Links | Dofollow |
Common semantic errors in C++ | Internal Links | Dofollow |
Detecting and handling errors | Internal Links | Dofollow |
std::cin and handling invalid input | Internal Links | Dofollow |
Assert and static_assert | Internal Links | Dofollow |
Chapter 7 summary and quiz | Internal Links | Dofollow |
Implicit type conversion (coercion) | Internal Links | Dofollow |
Floating-point and integral promotion | Internal Links | Dofollow |
Numeric conversions | Internal Links | Dofollow |
Arithmetic conversions | Internal Links | Dofollow |
Explicit type conversion (casting) and static_cast | Internal Links | Dofollow |
Typedefs and type aliases | Internal Links | Dofollow |
Type deduction for objects using the auto keyword | Internal Links | Dofollow |
Type deduction for functions | Internal Links | Dofollow |
Introduction to function overloading | Internal Links | Dofollow |
Function overload differentiation | Internal Links | Dofollow |
Function overload resolution and ambiguous matches | Internal Links | Dofollow |
Default arguments | Internal Links | Dofollow |
Function templates | Internal Links | Dofollow |
Function template instantiation | Internal Links | Dofollow |
Function templates with multiple template types | Internal Links | Dofollow |
Chapter 8 summary and quiz | Internal Links | Dofollow |
Using a language reference | Internal Links | Dofollow |
Enumerated types | Internal Links | Dofollow |
Enum classes | Internal Links | Dofollow |
Structs | Internal Links | Dofollow |
Random number generation | Internal Links | Dofollow |
Chapter 9 summary and quiz | Internal Links | Dofollow |
Arrays (Part I) | Internal Links | Dofollow |
Arrays (Part II) | Internal Links | Dofollow |
Arrays and loops | Internal Links | Dofollow |
Sorting an array using selection sort | Internal Links | Dofollow |
Multidimensional Arrays | Internal Links | Dofollow |
C-style strings | Internal Links | Dofollow |
An introduction to std::string_view | Internal Links | Dofollow |
Introduction to pointers | Internal Links | Dofollow |
Null pointers | Internal Links | Dofollow |
Pointers and arrays | Internal Links | Dofollow |
Pointer arithmetic and array indexing | Internal Links | Dofollow |
C-style string symbolic constants | Internal Links | Dofollow |
Dynamic memory allocation with new and delete | Internal Links | Dofollow |
Dynamically allocating arrays | Internal Links | Dofollow |
Pointers and const | Internal Links | Dofollow |
Reference variables | Internal Links | Dofollow |
References and const | Internal Links | Dofollow |
Member selection with pointers and references | Internal Links | Dofollow |
For-each loops | Internal Links | Dofollow |
Void pointers | Internal Links | Dofollow |
Pointers to pointers and dynamic multidimensional arrays | Internal Links | Dofollow |
An introduction to std::array | Internal Links | Dofollow |
An introduction to std::vector | Internal Links | Dofollow |
Introduction to iterators | Internal Links | Dofollow |
Introduction to standard library algorithms | Internal Links | Dofollow |
Chapter 10 comprehensive quiz | Internal Links | Dofollow |
Function parameters and arguments | Internal Links | Dofollow |
Passing arguments by value | Internal Links | Dofollow |
Passing arguments by reference | Internal Links | Dofollow |
Passing arguments by address | Internal Links | Dofollow |
Returning values by value, reference, and address | Internal Links | Dofollow |
Inline functions | Internal Links | Dofollow |
Function Pointers | Internal Links | Dofollow |
The stack and the heap | Internal Links | Dofollow |
std::vector capacity and stack behavior | Internal Links | Dofollow |
Recursion | Internal Links | Dofollow |
Command line arguments | Internal Links | Dofollow |
Ellipsis (and why to avoid them) | Internal Links | Dofollow |
Introduction to lambdas (anonymous functions) | Internal Links | Dofollow |
Lambda captures | Internal Links | Dofollow |
Chapter 11 comprehensive quiz | Internal Links | Dofollow |
Welcome to object-oriented programming | Internal Links | Dofollow |
Classes and class members | Internal Links | Dofollow |
Public vs private access specifiers | Internal Links | Dofollow |
Access functions and encapsulation | Internal Links | Dofollow |
Constructors | Internal Links | Dofollow |
Constructor member initializer lists | Internal Links | Dofollow |
Non-static member initialization | Internal Links | Dofollow |
Overlapping and delegating constructors | Internal Links | Dofollow |
Destructors | Internal Links | Dofollow |
The hidden “this” pointer | Internal Links | Dofollow |
Class code and header files | Internal Links | Dofollow |
Const class objects and member functions | Internal Links | Dofollow |
Static member variables | Internal Links | Dofollow |
Static member functions | Internal Links | Dofollow |
Friend functions and classes | Internal Links | Dofollow |
Anonymous objects | Internal Links | Dofollow |
Nested types in classes | Internal Links | Dofollow |
Timing your code | Internal Links | Dofollow |
Chapter 12 comprehensive quiz | Internal Links | Dofollow |
Introduction to operator overloading | Internal Links | Dofollow |
Overloading the arithmetic operators using friend functions | Internal Links | Dofollow |
Overloading operators using normal functions | Internal Links | Dofollow |
Overloading the I/O operators | Internal Links | Dofollow |
Overloading operators using member functions | Internal Links | Dofollow |
Overloading unary operators +, -, and ! | Internal Links | Dofollow |
Overloading the comparison operators | Internal Links | Dofollow |
Overloading the increment and decrement operators | Internal Links | Dofollow |
Overloading the subscript operator | Internal Links | Dofollow |
Overloading the parenthesis operator | Internal Links | Dofollow |
Overloading typecasts | Internal Links | Dofollow |
The copy constructor | Internal Links | Dofollow |
Copy initialization | Internal Links | Dofollow |
Converting constructors, explicit, and delete | Internal Links | Dofollow |
Overloading the assignment operator | Internal Links | Dofollow |
Shallow vs. deep copying | Internal Links | Dofollow |
Overloading operators and function templates | Internal Links | Dofollow |
Chapter 13 comprehensive quiz | Internal Links | Dofollow |
Object relationships | Internal Links | Dofollow |
Composition | Internal Links | Dofollow |
Aggregation | Internal Links | Dofollow |
Association | Internal Links | Dofollow |
Dependencies | Internal Links | Dofollow |
Container classes | Internal Links | Dofollow |
std::initializer_list | Internal Links | Dofollow |
Chapter 16 comprehensive quiz | Internal Links | Dofollow |
Introduction to inheritance | Internal Links | Dofollow |
Basic inheritance in C++ | Internal Links | Dofollow |
Order of construction of derived classes | Internal Links | Dofollow |
Constructors and initialization of derived classes | Internal Links | Dofollow |
Inheritance and access specifiers | Internal Links | Dofollow |
Adding new functionality to a derived class | Internal Links | Dofollow |
Calling inherited functions and overriding behavior | Internal Links | Dofollow |
Hiding inherited functionality | Internal Links | Dofollow |
Multiple inheritance | Internal Links | Dofollow |
Chapter 17 comprehensive quiz | Internal Links | Dofollow |
Pointers and references to the base class of derived objects | Internal Links | Dofollow |
Virtual functions and polymorphism | Internal Links | Dofollow |
The override and final specifiers, and covariant return types | Internal Links | Dofollow |
Virtual destructors, virtual assignment, and overriding virtualization | Internal Links | Dofollow |
Early binding and late binding | Internal Links | Dofollow |
The virtual table | Internal Links | Dofollow |
Pure virtual functions, abstract base classes, and interface classes | Internal Links | Dofollow |
Virtual base classes | Internal Links | Dofollow |
Object slicing | Internal Links | Dofollow |
Dynamic casting | Internal Links | Dofollow |
Printing inherited classes using operator<< | Internal Links | Dofollow |
Chapter 18 comprehensive quiz | Internal Links | Dofollow |
Template classes | Internal Links | Dofollow |
Template non-type parameters | Internal Links | Dofollow |
Function template specialization | Internal Links | Dofollow |
Class template specialization | Internal Links | Dofollow |
Partial template specialization | Internal Links | Dofollow |
Partial template specialization for pointers | Internal Links | Dofollow |
Chapter 19 comprehensive quiz | Internal Links | Dofollow |
The need for exceptions | Internal Links | Dofollow |
Basic exception handling | Internal Links | Dofollow |
Exceptions, functions, and stack unwinding | Internal Links | Dofollow |
Uncaught exceptions and catch-all handlers | Internal Links | Dofollow |
Exceptions, classes, and inheritance | Internal Links | Dofollow |
Rethrowing exceptions | Internal Links | Dofollow |
Function try blocks | Internal Links | Dofollow |
Exception dangers and downsides | Internal Links | Dofollow |
Exception specifications and noexcept | Internal Links | Dofollow |
Chapter 20 comprehensive quiz | Internal Links | Dofollow |
Intro to smart pointers and move semantics | Internal Links | Dofollow |
R-value references | Internal Links | Dofollow |
Move constructors and move assignment | Internal Links | Dofollow |
std::move | Internal Links | Dofollow |
std::move_if_noexcept | Internal Links | Dofollow |
std::unique_ptr | Internal Links | Dofollow |
std::shared_ptr | Internal Links | Dofollow |
Circular dependency issues with std::shared_ptr, and std::weak_ptr | Internal Links | Dofollow |
Chapter M comprehensive review | Internal Links | Dofollow |
The Standard Library | Internal Links | Dofollow |
STL containers overview | Internal Links | Dofollow |
STL iterators overview | Internal Links | Dofollow |
STL algorithms overview | Internal Links | Dofollow |
std::string and std::wstring | Internal Links | Dofollow |
std::string construction and destruction | Internal Links | Dofollow |
std::string length and capacity | Internal Links | Dofollow |
std::string character access and conversion to C-style arrays | Internal Links | Dofollow |
std::string assignment and swapping | Internal Links | Dofollow |
std::string appending | Internal Links | Dofollow |
std::string inserting | Internal Links | Dofollow |
Input and output (I/O) streams | Internal Links | Dofollow |
Input with istream | Internal Links | Dofollow |
Output with ostream and ios | Internal Links | Dofollow |
Stream classes for strings | Internal Links | Dofollow |
Stream states and input validation | Internal Links | Dofollow |
Basic file I/O | Internal Links | Dofollow |
Random file I/O | Internal Links | Dofollow |
Static and dynamic libraries | Internal Links | Dofollow |
Using libraries with Visual Studio | Internal Links | Dofollow |
Using libraries with Code::Blocks | Internal Links | Dofollow |
Introduction to C++11 | Internal Links | Dofollow |
Introduction to C++14 | Internal Links | Dofollow |
Introduction to C++17 | Internal Links | Dofollow |
Introduction to C++20 | Internal Links | Dofollow |
The end? | Internal Links | Dofollow |
Log in | Internal Links | Dofollow |
Social
Social Data
Cost and overhead previously rendered this semi-public form of communication unfeasible.
But advances in social networking technology from 2004-2010 has made broader concepts of sharing possible.