Code Monkey home page Code Monkey logo

learning-cpp-learn-and-understand's Introduction

Learn and Understand C++

This is a personal repository to take notes and codes samples for this online course.

Some Notes

  • Chapters 1 and 2 were basically introduction and IDE setup, so we don't have codes for them;
  • In course, the instructor used Codeblocks but I used Visual Studio Code with C++ Extension installed;
  • All examples here were compiled with g++ in Linux (Linux Mint);

Technical Notes

Compile the codes

Using g++ to compile the code. Example:

$ g++ main.cpp

This will generate a compiled file named a.out in same directory.

Executing the codes

$ ./a.out

Course Link

Course Contents

First C++ Program

  • The most C++ program;
  • Hello world, printing to monitor;
  • More advanced print formats;
  • Variables in C++ - Part 1;
  • Variables in C++ - Part 2;

Interaction With User

  • Getting data from standard input (keyboard);
  • First "useful" program - calculate sum;
  • Constant variable in C++, macro constants;
  • The auto keyword, new in C++11;
  • Comments;

More Advanced Examples

  • Inclusion of other libraries;
  • If-else statement: conditional execution
  • Logical operators part 1;
  • Logical operators part 2;
  • Relational operators;
  • Comma operator;

Repeating Code Executions - Loops

  • For Loop;
  • While Loop;
  • Do While Loop;
  • For Each Loop - New in C++11;
  • Break Statement;
  • Continue Statement;
  • GoTo;
  • Infinite Loops;
  • Nested Loops;

Arrays - Basics

  • Declaration and usage;
  • Memory representation;
  • Array initialization;
  • Simple array algorithms;
  • C string;

Functions - Basics

  • Concept and Usage;
  • Functions With Return Values;
  • Functions that do not accept anything and do not return anything;
  • Basics lambda functions new in C++11;

Exception Handling

  • Explanation and Usage - Part 1;
  • Explanation and Usage - Part 2;
  • Standard Exceptions;
  • Generic Catch Block;
  • Nested Try-Catch Blocks;
  • Exception propagation;

Structures in C++

  • Concept and Usage;
  • Attributes and Structure Initialization;
  • Static Attributes;
  • Arrays of Struct;

Generic Programming - Basics

  • Generic Programming - Part 1;
  • Generic Programming - Part 2;

STL - Standard Types in C++

  • Vector;
  • Deque;
  • String;
  • Map;
  • Function;

Classes in C++ - Beggining

  • Concept and Usage;
  • Principles of Object Oriented Programming (OOP) - Part 1;
  • Principles of Object Oriented Programming (OOP) - Part 2;

Classes in C++ - Basics

  • Rule of Zero/three/five and Constructors - Part 1;
  • Rule of Zero/three/five and Constructors - Part 2;
  • Destructors;
  • Friend Functions;
  • Generic Classes;

Decomposition

  • Decomposition

Interaction with WinAPI

  • Using OS libraries and functions;
  • WinAPI Types;
  • Checking for Errors;
I did not implemented the lessons of this chapter because I'm using Linux :D

Files in C++

  • Let's Play With Files;

Basic Encryption

  • Some fun with basic encryption;

Pointers and References

  • Introduction to Pointers;
  • Comparison Operators and Pointers;
  • Operators and Pointers - Part 1;
  • Operators and Pointers - Part 2;
  • Pointing to Different Objects - Part 1;
  • Pointing to Different Objects - Part 2;
  • Referencing;

Extra Contents

This chapter has some extra contents created by myself like programming exercises. These contents are not in the course.

Contents

  • 01: Compound Interest Calc;
  • 02: Calculate Prime Numbers;

learning-cpp-learn-and-understand's People

Contributors

rgiaviti avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.