{"id":20469519,"url":"https://github.com/huixxi/fast-c-plus-plus","last_synced_at":"2025-04-13T10:34:18.764Z","repository":{"id":129596459,"uuid":"197111895","full_name":"Huixxi/Fast-C-plus-plus","owner":"Huixxi","description":"Python is too short, you need C++.:snail:","archived":false,"fork":false,"pushed_at":"2024-06-27T09:37:41.000Z","size":5014,"stargazers_count":28,"open_issues_count":0,"forks_count":5,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-27T01:51:29.787Z","etag":null,"topics":["c-plus-plus","notes","tutorial"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Huixxi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-16T03:14:25.000Z","updated_at":"2025-01-10T17:14:41.000Z","dependencies_parsed_at":"2023-04-06T15:48:08.614Z","dependency_job_id":null,"html_url":"https://github.com/Huixxi/Fast-C-plus-plus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Huixxi%2FFast-C-plus-plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Huixxi%2FFast-C-plus-plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Huixxi%2FFast-C-plus-plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Huixxi%2FFast-C-plus-plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Huixxi","download_url":"https://codeload.github.com/Huixxi/Fast-C-plus-plus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248698949,"owners_count":21147562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus","notes","tutorial"],"created_at":"2024-11-15T14:09:18.944Z","updated_at":"2025-04-13T10:34:18.722Z","avatar_url":"https://github.com/Huixxi.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Source: https://www.geeksforgeeks.org/c-plus-plus/](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/images/c_plusplus.png)\n# A Fast C++ Tutorial For Beginners.\nC++ is a very important programming language, even though python is really hot in today's AI context.\n\n## Introduction.\nThis is a basic tutorial of C++ for beginners. From **Basic Datatypes** to **Standard Template Library(STL)**.   \nIt is mainly based on the book [C++ in One Hour a Day, Sams Teach Yourself(8th Edition)][2].  \n-------Update 2020-3-1-------  \nAdding a \"A Deep Understanding of STL's Source Code\" part in Chinese.\n\n## C++ IDE Recommend\n* [Visual Studio](https://visualstudio.microsoft.com/) is highly recommended if you do c++ development on Windows or Mac. It is free(the community version), and powerful, which is suited to large project development.\n* [Clion](https://www.jetbrains.com/clion/) is also highly recommended. It is cross-platform(pc, mac, linux), powerful and  easy to compile and debug. But it is not free and don't have the community version. If you are a student, you can apply for a free individual license for one year.\n* Some lightweight tools: [Code Blocks](http://www.codeblocks.org/) | [Visual Studio Code](https://code.visualstudio.com/) |  [Qt, open source version](https://www.qt.io/developers/)\n* Online IDE runs in browser: [Cpp Online](http://cpp.sh/)\n\n## Trouble Shoot During Clion Installation\nError after you type in you username and password: `Can not connect to the remove sever, ...`, then you should edit your hosts file(`/etc/hosts` on Linux) to comment the urls that related to `JetBrains`.\n\n## Hello World!\n``` c++\n#include \u003ciostream\u003e\n\nint main(){\n    std::cout \u003c\u003c \"Hello World!\" \u003c\u003c std::endl;\n    return 0;\n}\n```\n## Tutorial Catalogue\nFirst, I assume that you have some basic knowledge of C or C++.  \nBefore we start, let's walk through the [Basic Introduction About C++](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Basic%20C%2B%2B.cpp) roughly to recall some basic and important points. (All the codes in this introduction are from this tutorial video: https://www.youtube.com/watch?v=vLnPwxZdW4Y, I just sort the video content into text form.)\n* Part I, The Basics.\n  * [Lesson 1 - Getting Start](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20I%20The%20Basics/01%20Lesson1%20Notes.md)\n  * [Lesson 2 - The Anatomy of a C++ Program](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20I%20The%20Basics/02%20Lesson2%20Notes.md)\n  * [Lesson 3 - Using Variables, Declaring Constants](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20I%20The%20Basics/03%20Lesson3%20Notes.md)\n  * [Lesson 4 - Managing Arrays and Strings](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20I%20The%20Basics/04%20Lesson4%20Notes.md)\n  * [Lesson 5 - Working with Expressions, Statements, and Operators](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20I%20The%20Basics/05%20Lesson5%20Notes.md)\n  * [Lesson 6 - Controlling Program Flow](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20I%20The%20Basics/06%20Lesson6%20Notes.md)\n  * [Lesson 7 - Organizing Code with Functions](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20I%20The%20Basics/07%20Lesson7%20Notes.md)\n  * [Lesson 8 - Pointers and References Explained](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20I%20The%20Basics/08%20Lesson8%20Notes.md)\n\n* Part II, Fundamentals of Object-Oriented C++ Programming.\n  * [Lesson 9 - Classes and Objects](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20II%20Fundamentals%20of%20Object-Oriented%20C%2B%2B%20Programming/09%20Lesson9%20Noets.md)\n  * [Lesson 10 - Implementing Inheritance](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20II%20Fundamentals%20of%20Object-Oriented%20C%2B%2B%20Programming/10%20Lesson10%20Notes.md)\n  * [Lesson 11 - Polymorphism](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20II%20Fundamentals%20of%20Object-Oriented%20C%2B%2B%20Programming/11%20Lesson11%20Notes.md)\n  * [Lesson 12 - Operator Types and Operator Overloading](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20II%20Fundamentals%20of%20Object-Oriented%20C%2B%2B%20Programming/12%20Lesson12%20Notes.md)\n  * [Lesson 13 - Casting Operators](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20II%20Fundamentals%20of%20Object-Oriented%20C%2B%2B%20Programming/13%20Lesson13%20Notes.md)\n  * [Lesson 14 - An Introduction to Macros and Templates](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20II%20Fundamentals%20of%20Object-Oriented%20C%2B%2B%20Programming/14%20Lesson14%20Notes.md)\n\n* Part III, Learning the Standard Template Library (STL).\n  * [Lesson 15 - An Introduction to the Standard Template Library](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20III%20Learning%20the%20STL/15%20Lesson15%20Notes.md)\n  * [Lesson 16 - STL String Class](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20III%20Learning%20the%20STL/16%20Lesson16%20Notes.md)\n  * [Lesson 17 - STL Dynamic Array Classes](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20III%20Learning%20the%20STL/17%20Lesson17%20Notes.md)\n  * [Lesson 18 - STL List Classes](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20III%20Learning%20the%20STL/18%20Lesson18%20Notes.md)\n  * [Lesson 19 - STL Set Classes](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20III%20Learning%20the%20STL/19%20Lesson19%20Notes.md)\n  * [Lesson 20 - STL Map Classes](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20III%20Learning%20the%20STL/20%20Lesson20%20Notes.md)\n\n* Part IV, More STL.\n  * [Lesson 21 - Understanding Function Objects\n](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20IV%20More%20STL/21%20Lesson21%20Notes.md)\n  * [Lesson 22 - Lambda Expressions](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20IV%20More%20STL/22%20Lesson22%20Notes.md)\n  * [Lesson 23 - STL Algorithms](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20IV%20More%20STL/23%20Lesson23%20Notes.md)\n  * [Lesson 24 - Adaptive Containers: Stack and Queue](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20IV%20More%20STL/24%20Lesson24%20Notes.md)\n  * [Lesson 25 - Working with Bit Flags Using STL](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20IV%20More%20STL/25%20Lesson25%20Notes.md)\n  \n* Part V, Advanced C++ Concepts.\n  * [Lesson 26 - Understanding Smart Pointers](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20V%20Advanced%20C%2B%2B%20Concepts/26%20Lesson26%20Notes.md)\n  * [Lesson 27 - Using Streams for Input and Output](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20V%20Advanced%20C%2B%2B%20Concepts/27%20Lesson27%20Notes.md)\n  * [Lesson 28 - Exception Handling](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20V%20Advanced%20C%2B%2B%20Concepts/28%20Lesson28%20Notes.md)\n  * [Lesson 29 - Going Forward](https://github.com/Huixxi/Fast-C-plus-plus/blob/master/Part%20V%20Advanced%20C%2B%2B%20Concepts/29%20Lesson29%20Notes.md)\n\n\n\n\n\n\n\n\n\n[1]: https://www.youtube.com/playlist?list=PLGLfVvz_LVvQ9S8YSV0iDsuEU8v11yP9M\n[2]: https://www.amazon.com/One-Hour-Sams-Teach-Yourself/dp/0789757745/ref=as_li_ss_tl?ie=UTF8\u0026qid=1520641767\u0026sr=8-9\u0026keywords=C++\u0026linkCode=sl1\u0026tag=nethta-20\u0026linkId=4bddb996d7f5ff86f0fbaf4647594d32\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuixxi%2Ffast-c-plus-plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhuixxi%2Ffast-c-plus-plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuixxi%2Ffast-c-plus-plus/lists"}