Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/zircon-tech/cpp-development


https://github.com/zircon-tech/cpp-development

Last synced: about 1 month ago
JSON representation

Lists

README

        

# Why consider C++?
![You are c++ brave](https://github.com/zircon-tech/cpp-development/blob/main/Memes/cpp_meme1.jpg)

C++ is a very versatile low-level language, it is very used to high performance solutions. Some of the use cases are AAA video games, IoT, embedded systems, and resource-heavy VR and AI applications.

On Blockchain development, we can see it on bitcoin’s core and underneath solidity language.

## How does it work?
- [Structure of a program](https://ecomputernotes.com/cpp/introduction-to-oop/structure-of-a-cpp)
- [Memory management in C++](https://www.studytonight.com/cpp/memory-management-in-cpp.php)

## Development resources
Depending on your goal with C++ development and your operating system, there are several choices you can make to set up the environment, you can have a text editor but to compile and debug your program you will need to setup a few things more.
### Windows
- [Visual Studio IDE Community](https://www.youtube.com/watch?v=1OsGXuNA5cc&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&index=2)
- Visual Studio Code
- CodeBlocks
- Notepad++
### Mac
- [XCode](https://www.youtube.com/watch?v=1E_kBSka_ec&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&index=4)
- Visual Studio Code
### Linux
- [CodeLite](https://www.youtube.com/watch?v=LKLuvoY6U0I&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb&index=5)

## Syntaxes
If you are familiar with C, C# or Java you will not struggle to get up to speed with C++ syntaxes.
Here there is a great repository with a summarize explanation of C++ syntaxes, best way to learn is with practice and here are some great places to find information.
- [CPPTutorial | Derek Banas](https://github.com/derekbanas/CPPTutorial/blob/main/cpp-tut.cpp)
- [CPP Tutorial with examples and Quiz | W3schools](https://www.w3schools.com/cpp/default.asp)
- [CPP Basics | GeeksForGeeks](https://www.geeksforgeeks.org/c-plus-plus/?ref=ghm)

## Libraries
One great source to check libraries is:
- [cplusplus](https://www.cplusplus.com/reference/)

## Free online video resources
### For beginners
- [C++ | TheChemo](https://www.youtube.com/watch?v=18c3MTX0PK0&list=PLlrATfBNZ98dudnM48yfGUldqGD0S4FFb)
- [C++ for beginners | FreeCodeCamp](https://www.youtube.com/watch?v=vLnPwxZdW4Y&t=531s)
- [Object Oriented Programming OOP in C++ Course | FreeCodeCamp ](https://www.youtube.com/watch?v=wN0x9eZLix4)
### Intermediate
- [Pointers in C / C++ [Full Course] | FreeCodeCamp](https://www.youtube.com/watch?v=zuegQmMdy8M)
### Advance
- [Data Structures - Full Course Using C and C++ | FreeCodeCamp](https://www.youtube.com/watch?v=B31LgI4Y4DQ&t=6223s)

## Useful links / Sources
- [Dear ImGUI | Open source Graphical User Interface for C++](https://github.com/ocornut/imgui)
### About Bitcoin Source Code
[The Bitcoin Source Code: A Guided Tour - Part 1, Block Time and Spacing | Dev Oskii](https://www.youtube.com/watch?v=duAcEElZpNk)
## Books
### About C++
- C++ A beginers guide, Herbert Schild

### About Data structures and algorithms
- Computer Science Destiled, Wladston Ferreira Filho , Edited by Raimondo Pictet
- Grokking Algorithms, Aditya Bhargava