| route-pattern | /:user_id/:repository |
| route-controller | files |
| route-action | disambiguate |
| fetch-nonce | v2:9ab026bd-cac1-d7ff-7c3c-2beb7fa4c5fe |
| current-catalog-service-hash | f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb |
| request-id | DB32:CBED7:179864:1F8843:6A4D3145 |
| html-safe-nonce | 07580f302643f62f3b1a772391e0a7f10d222b477cb0272141063f630b618d35 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQjMyOkNCRUQ3OjE3OTg2NDoxRjg4NDM6NkE0RDMxNDUiLCJ2aXNpdG9yX2lkIjoiNjI2Mzk4NzA5MTc2NTI3Njk5NyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 28a3bb4c45d93a3cf697927e63e6948285567d443703b6a9bd34d5419e5084a6 |
| hovercard-subject-tag | repository:1223070662 |
| github-keyboard-shortcuts | repository,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | // |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/346260722/cpp_tutorials |
| twitter:image | https://opengraph.githubassets.com/cba4ffa7d0f01fa7728552cbfff3bc961b80de86194206e8a0c9d1de1c10f322/346260722/cpp_tutorials |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/cba4ffa7d0f01fa7728552cbfff3bc961b80de86194206e8a0c9d1de1c10f322/346260722/cpp_tutorials |
| og:image:alt | This repository contains my C++ snippets code on C++ concepts/ idioms, optimized C++, modern C++ and advance C++ - 346260722/cpp_tutorials |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 92571a8944142227b7e19cd10918b1ddd06e5066c1ad5bc7e4769cf6140a87e6 |
| turbo-cache-control | no-cache |
| go-import | github.com/346260722/cpp_tutorials git https://github.com/346260722/cpp_tutorials.git |
| octolytics-dimension-user_id | 46155114 |
| octolytics-dimension-user_login | 346260722 |
| octolytics-dimension-repository_id | 1223070662 |
| octolytics-dimension-repository_nwo | 346260722/cpp_tutorials |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | true |
| octolytics-dimension-repository_parent_id | 236170245 |
| octolytics-dimension-repository_parent_nwo | behnamasadi/cpp_tutorials |
| octolytics-dimension-repository_network_root_id | 236170245 |
| octolytics-dimension-repository_network_root_nwo | behnamasadi/cpp_tutorials |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 56fc8347865a14e2ec811533d68f929cf4e0ec19 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/346260722/cpp_tutorials#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2F346260722%2Fcpp_tutorials |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub Copilot appDirect agents from issue to merge | https://github.com/features/ai/github-app |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| View all resources | https://github.com/resources |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| GitHub Stars | https://stars.github.com |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2F346260722%2Fcpp_tutorials |
|
Sign up
| https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=346260722%2Fcpp_tutorials |
| Reload | https://github.com/346260722/cpp_tutorials |
| Reload | https://github.com/346260722/cpp_tutorials |
| Reload | https://github.com/346260722/cpp_tutorials |
|
346260722
| https://github.com/346260722 |
| cpp_tutorials | https://github.com/346260722/cpp_tutorials |
| behnamasadi/cpp_tutorials | https://github.com/behnamasadi/cpp_tutorials |
|
Notifications
| https://github.com/login?return_to=%2F346260722%2Fcpp_tutorials |
|
Fork
0
| https://github.com/login?return_to=%2F346260722%2Fcpp_tutorials |
|
Star
0
| https://github.com/login?return_to=%2F346260722%2Fcpp_tutorials |
|
Code
| https://github.com/346260722/cpp_tutorials |
|
Pull requests
0
| https://github.com/346260722/cpp_tutorials/pulls |
|
Actions
| https://github.com/346260722/cpp_tutorials/actions |
|
Projects
| https://github.com/346260722/cpp_tutorials/projects |
|
Security and quality
0
| https://github.com/346260722/cpp_tutorials/security |
|
Insights
| https://github.com/346260722/cpp_tutorials/pulse |
|
Code
| https://github.com/346260722/cpp_tutorials |
|
Pull requests
| https://github.com/346260722/cpp_tutorials/pulls |
|
Actions
| https://github.com/346260722/cpp_tutorials/actions |
|
Projects
| https://github.com/346260722/cpp_tutorials/projects |
|
Security and quality
| https://github.com/346260722/cpp_tutorials/security |
|
Insights
| https://github.com/346260722/cpp_tutorials/pulse |
| https://github.com/346260722/cpp_tutorials |
| Branches | https://github.com/346260722/cpp_tutorials/branches |
| Tags | https://github.com/346260722/cpp_tutorials/tags |
| https://github.com/346260722/cpp_tutorials/branches |
| https://github.com/346260722/cpp_tutorials/tags |
| 579 Commits | https://github.com/346260722/cpp_tutorials/commits/master/ |
| https://github.com/346260722/cpp_tutorials/commits/master/ |
| .circleci | https://github.com/346260722/cpp_tutorials/tree/master/.circleci |
| .circleci | https://github.com/346260722/cpp_tutorials/tree/master/.circleci |
| .github/workflows | https://github.com/346260722/cpp_tutorials/tree/master/.github/workflows |
| .github/workflows | https://github.com/346260722/cpp_tutorials/tree/master/.github/workflows |
| .trunk | https://github.com/346260722/cpp_tutorials/tree/master/.trunk |
| .trunk | https://github.com/346260722/cpp_tutorials/tree/master/.trunk |
| .vscode | https://github.com/346260722/cpp_tutorials/tree/master/.vscode |
| .vscode | https://github.com/346260722/cpp_tutorials/tree/master/.vscode |
| docs | https://github.com/346260722/cpp_tutorials/tree/master/docs |
| docs | https://github.com/346260722/cpp_tutorials/tree/master/docs |
| src | https://github.com/346260722/cpp_tutorials/tree/master/src |
| src | https://github.com/346260722/cpp_tutorials/tree/master/src |
| .appveyor.yml | https://github.com/346260722/cpp_tutorials/blob/master/.appveyor.yml |
| .appveyor.yml | https://github.com/346260722/cpp_tutorials/blob/master/.appveyor.yml |
| .gitignore | https://github.com/346260722/cpp_tutorials/blob/master/.gitignore |
| .gitignore | https://github.com/346260722/cpp_tutorials/blob/master/.gitignore |
| .gitmodules | https://github.com/346260722/cpp_tutorials/blob/master/.gitmodules |
| .gitmodules | https://github.com/346260722/cpp_tutorials/blob/master/.gitmodules |
| CMakeLists.txt | https://github.com/346260722/cpp_tutorials/blob/master/CMakeLists.txt |
| CMakeLists.txt | https://github.com/346260722/cpp_tutorials/blob/master/CMakeLists.txt |
| CMakePresets.json | https://github.com/346260722/cpp_tutorials/blob/master/CMakePresets.json |
| CMakePresets.json | https://github.com/346260722/cpp_tutorials/blob/master/CMakePresets.json |
| Dockerfile | https://github.com/346260722/cpp_tutorials/blob/master/Dockerfile |
| Dockerfile | https://github.com/346260722/cpp_tutorials/blob/master/Dockerfile |
| Doxyfile | https://github.com/346260722/cpp_tutorials/blob/master/Doxyfile |
| Doxyfile | https://github.com/346260722/cpp_tutorials/blob/master/Doxyfile |
| README.md | https://github.com/346260722/cpp_tutorials/blob/master/README.md |
| README.md | https://github.com/346260722/cpp_tutorials/blob/master/README.md |
| README | https://github.com/346260722/cpp_tutorials |
| C++ | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#c |
| https://ci.appveyor.com/project/behnamasadi/cpp-tutorials |
| https://github.com/behnamasadi/cpp_tutorials/actions/workflows/docker-build.yml/badge.svg |
| https://github.com/behnamasadi/cpp_tutorials/actions/workflows/windows-build.yml/badge.svg |
| https://camo.githubusercontent.com/2b599ab1ace97388d4375b87919f92781a1a61d016fe640a5c4d15fc365deed1/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4253442d626c75652e737667 |
| https://camo.githubusercontent.com/deb021b7d289e7d00fe70145f60373ae73473338d483ed6a6ceca1ad6b45da01/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6265686e616d61736164692f6370705f7475746f7269616c73 |
| https://camo.githubusercontent.com/72e92865b36dae4559e7202e0d24b0d1ffc3ccfc8d032f5f8f858fe9318eb5ad/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6265686e616d61736164692f6370705f7475746f7269616c73 |
| https://camo.githubusercontent.com/a6b365c938c3f41ea977faf5a57e11dd18fe88d35e9c44897bc5ed6c2e1a2aab/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6265686e616d61736164692f6370705f7475746f7269616c73 |
| https://camo.githubusercontent.com/62561a76ec95598107b341fcee5d2d48ee352b45db4520562963d2a13b2b2355/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6265686e616d61736164692f6370705f7475746f7269616c73 |
| https://github.com/346260722/cpp_tutorials#building-and-installation |
| CMake's official | https://cmake.org/download/ |
| https://github.com/346260722/cpp_tutorials#how-to-build-on-your-machine |
| https://github.com/346260722/cpp_tutorials#1-building-the-image |
| https://github.com/346260722/cpp_tutorials#2-creating-the-container |
| https://github.com/346260722/cpp_tutorials#3-starting-an-existing-container |
| https://github.com/346260722/cpp_tutorials#4-removing-unnecessary-images-and-containers |
| https://github.com/346260722/cpp_tutorials#gui-application-with-docker |
| here | https://ros-developer.com/2017/11/08/docker/ |
| https://github.com/346260722/cpp_tutorials#configure-vscode-to-use-ninja-multi-config-for-all-cmake-projects |
| C++ Tutorials | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#c-tutorials |
| Align | https://github.com/346260722/cpp_tutorials/blob/master/docs/align.md |
| Allocator | https://github.com/346260722/cpp_tutorials/blob/master/docs/allocator.md |
| Algorithms Library | https://github.com/346260722/cpp_tutorials/blob/master/docs/algorithms.md |
| Any | https://github.com/346260722/cpp_tutorials/blob/master/docs/any.md |
| Assert | https://github.com/346260722/cpp_tutorials/blob/master/docs/assert.md |
| Atomic operations and Atomic Types | https://github.com/346260722/cpp_tutorials/blob/master/docs/atomic.md |
| Asynchronous programming | https://github.com/346260722/cpp_tutorials/blob/master/docs/asynchronous_programming.md |
| std::launch::async, std::future | https://github.com/346260722/cpp_tutorials/blob/master/docs/asynchronous_programming.md#std--launch--async--std--future |
| Parallelization with ascync | https://github.com/346260722/cpp_tutorials/blob/master/docs/asynchronous_programming.md#parallelization-with-ascync |
| Parallelization with std::packaged_task | https://github.com/346260722/cpp_tutorials/blob/master/docs/asynchronous_programming.md#parallelization-with-std--packaged-task |
| Attribute specifier sequence [[attribute-list]] | https://github.com/346260722/cpp_tutorials/blob/master/docs/attribute_specifier_sequence.md |
| Basic IO Operation, Streams, Reading/Writing Files, Formatting Output, cin, scanf, gets, getline, printf | https://github.com/346260722/cpp_tutorials/blob/master/docs/basic_IO_operation.md |
| Big-endian,_Little-endian | https://github.com/346260722/cpp_tutorials/blob/master/docs/big-endian_little-endian.md |
| Bitset, Bit field, Bitwise Operations | https://github.com/346260722/cpp_tutorials/blob/master/docs/bitset_bit_field_bitwise_operations.md |
| Callable Objects, Callbacks | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md |
| 1. Function Pointers | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md#1-function-pointers |
| 2. Functor (Function Objects) | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md#2-functor--function-objects- |
| 3. std::function, std::placeholders, and std::bind | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md#3-std--function--std--placeholders--and-std--bind |
| 4. Lambda Functions | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md#4-lambda-functions |
| 5. Member Function Pointers | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md#5-member-function-pointers |
| 6. Signals and Slots | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md#6-signals-and-slots |
| 7. std::invoke | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md#7-std--invoke |
| 8. Packaged Tasks | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md#8-packaged-tasks |
| 9. Coroutines | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md#9-coroutines |
| 10. Auto-generated operator() from a Captureless Lambda | https://github.com/346260722/cpp_tutorials/blob/master/docs/callable_callbacks.md#10-auto-generated-operator---from-a-captureless-lambda |
| Clock, Date, Time | https://github.com/346260722/cpp_tutorials/blob/master/docs/date_time.md |
| Conditional Compilation From CMakeLists | https://github.com/346260722/cpp_tutorials/blob/master/docs/conditional_compilation.md |
| Containers | https://github.com/346260722/cpp_tutorials/blob/master/docs/containers.md |
| vector | https://github.com/346260722/cpp_tutorials/blob/master/docs/vector.md |
| lists | https://github.com/346260722/cpp_tutorials/blob/master/src/lists.cpp |
| C arrays, std::array, span | https://github.com/346260722/cpp_tutorials/blob/master/docs/array_span.md |
| set, map, pair, tuple, tie, unordered_map, multimap, unordered_set, multiset | https://github.com/346260722/cpp_tutorials/blob/master/docs/set_map_pair_tuple.md |
| Queue, Priority queue, deque | https://github.com/346260722/cpp_tutorials/blob/master/docs/stack_queue_priority_queue_deque.md |
| Stack | https://github.com/346260722/cpp_tutorials/blob/master/docs/stack.md |
| Const, Constexpr and Mutable | https://github.com/346260722/cpp_tutorials/blob/master/docs/const_constexpr_mutable.md |
| Immutable Objects | https://github.com/346260722/cpp_tutorials/blob/master/docs/immutable_objects.md |
| Data Types, Numerical Limits, Machine Epsilon, Precision, std::nan | https://github.com/346260722/cpp_tutorials/blob/master/docs/primitive_data_types_numerical_limits_machine_epsilon_precision.md |
| Data Types Conversions, Casting, Type Coercion | https://github.com/346260722/cpp_tutorials/blob/master/docs/type_conversions_casting_type_coercion.md |
| Decay | https://github.com/346260722/cpp_tutorials/blob/master/docs/decay.md |
| Dynamic Memory Allocation in C | https://github.com/346260722/cpp_tutorials/blob/master/docs/dynamic_memory_allocation.md |
| Enum | https://github.com/346260722/cpp_tutorials/blob/master/docs/enum.md |
| Error Handling | https://github.com/346260722/cpp_tutorials/blob/master/docs/error_handling.md |
| Error Code | https://github.com/346260722/cpp_tutorials/blob/master/docs/error_code.md |
| Exception Handling, noexcept | https://github.com/346260722/cpp_tutorials/blob/master/docs/exception_handling.md |
| Extern Variables, Extern Functions | https://github.com/346260722/cpp_tutorials/blob/master/docs/extern.md |
| Execution Policies | https://github.com/346260722/cpp_tutorials/blob/master/docs/execution_policies.md |
| File System | https://github.com/346260722/cpp_tutorials/blob/master/docs/filesystem.md |
| Forking | https://github.com/346260722/cpp_tutorials/blob/master/docs/fork.md |
| Forwarding Reference | https://github.com/346260722/cpp_tutorials/blob/master/docs/forward.md |
| Functions, Extern Function, Function Objects, Function Pointer, Inline Functions | https://github.com/346260722/cpp_tutorials/blob/master/docs/functions.md |
| Hash Functions, Hash Data Structure (Hash Table) | https://github.com/346260722/cpp_tutorials/blob/master/docs/hash_function_hash_table.md |
| Heap and Stack, Memory Layout of C Programs | https://github.com/346260722/cpp_tutorials/blob/master/docs/heap_and_stack_memory_layout_of_C_programs.md |
| Iterator, for_each loop, range-for loop, Loop optimization | https://github.com/346260722/cpp_tutorials/blob/master/docs/iterator_loop.md |
| std::less, std::greater | https://github.com/346260722/cpp_tutorials/blob/master/docs/std_greater_less.md |
| std::not1 and std::unary_negate | https://github.com/346260722/cpp_tutorials/blob/master/docs/not1_unary_negate.md |
| Lambda | https://github.com/346260722/cpp_tutorials/blob/master/docs/lambda.md |
| Literals | https://github.com/346260722/cpp_tutorials/blob/master/docs/literals.md |
| Loading Classes Dynamically From Plugins | https://github.com/346260722/cpp_tutorials/blob/master/docs/loading_classes_dynamically_from_plugins.md |
| Macros | https://github.com/346260722/cpp_tutorials/blob/master/docs/macros.md |
| Memory Error Detection With Memory Address Sanitizer and Valgrind | https://github.com/346260722/cpp_tutorials/blob/master/docs/memory_leaking_valgrind.md |
| Modules | https://github.com/346260722/cpp_tutorials/blob/master/docs/cpp_modules.md |
| Nested Namespaces, Unnamed/Anonymous Namespaces | https://github.com/346260722/cpp_tutorials/blob/master/docs/nested_unnamed_anonymous_namespaces.md |
| Numeral Systems in C++ Decimal, Binary, Octal, Hexadecimal | https://github.com/346260722/cpp_tutorials/blob/master/docs/numeral_system.md |
| Optional | https://github.com/346260722/cpp_tutorials/blob/master/docs/optional.md |
| Parameter Pack Expansion ... | https://github.com/346260722/cpp_tutorials/blob/master/docs/parameter_pack_expansion_(...).md |
| Post-increment, Pre-increment, Unary plus | https://github.com/346260722/cpp_tutorials/blob/master/docs/post-increment_pre-increment.md |
| Packaged Task | https://github.com/346260722/cpp_tutorials/blob/master/docs/packaged_task.md |
| Register Keyword | https://github.com/346260722/cpp_tutorials/blob/master/docs/register.md |
| Regex | https://github.com/346260722/cpp_tutorials/blob/master/docs/regex.md |
| Pseudo-random Number Generation, Distributions | https://github.com/346260722/cpp_tutorials/blob/master/docs/random_number.md |
| Raw Pointers, Wild/Dangling, Memory Safety | https://github.com/346260722/cpp_tutorials/blob/master/docs/pointers.md |
| Smart Pointers (unique_ptr, shared_ptr, weak_ptr, atomic smart pointers) | https://github.com/346260722/cpp_tutorials/blob/master/docs/smart_pointers.md |
| When to Use shared_ptr — 12 Concrete Patterns | https://github.com/346260722/cpp_tutorials/blob/master/docs/shared_ptr_use_cases.md |
| Passing/ Returning Smart Pointers To/ From Functions | https://github.com/346260722/cpp_tutorials/blob/master/docs/passing_returning_smart_pointers_to_from_functions.md |
| Smart Pointers Class Member | https://github.com/346260722/cpp_tutorials/blob/master/docs/smart_pointers_class_member.md |
| References, Lvalue/Rvalue, reference_wrapper, std::ref / std::cref | https://github.com/346260722/cpp_tutorials/blob/master/docs/references.md |
| Return, Abort, Exit, Throw, Terminate | https://github.com/346260722/cpp_tutorials/blob/master/docs/return_abort_exit_throw_terminate.md |
| Scope Resolution Operator | https://github.com/346260722/cpp_tutorials/blob/master/docs/scope_resolution_operator.md |
| Scope and Life Cycle of Objects Returned by Functions | https://github.com/346260722/cpp_tutorials/blob/master/docs/scope_and_life_cycle_of_objects_returned_by_functions.md |
| Setting argc, argv | https://github.com/346260722/cpp_tutorials/blob/master/src/set_argv_argc.cpp |
| Simple Command Argument Parser | https://github.com/346260722/cpp_tutorials/blob/master/src/arguments_parser.hpp |
| Signals | https://github.com/346260722/cpp_tutorials/blob/master/docs/signals.md |
| System Call | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_call.md |
| String C/C++, string_view, string literal, string conversion, ASCII, Unicode | https://github.com/346260722/cpp_tutorials/blob/master/docs/string.md |
| String View | https://github.com/346260722/cpp_tutorials/blob/master/docs/string_view.md |
| Structs | https://github.com/346260722/cpp_tutorials/blob/master/src/structs.cpp |
| Structured binding declaration | https://github.com/346260722/cpp_tutorials/blob/master/docs/structured_binding_declaration.md |
| Switch Case | https://github.com/346260722/cpp_tutorials/blob/master/src/switch_case.cpp |
| Template, Expression Templates | https://github.com/346260722/cpp_tutorials/blob/master/docs/templates.md |
| Template argument deduction | https://en.cppreference.com/w/cpp/language/template_argument_deduction |
| Ternary (One Line If) | https://github.com/346260722/cpp_tutorials/blob/master/src/ternary.cpp |
| Temporary Objects | https://github.com/346260722/cpp_tutorials/blob/master/docs/temporary_objects.md |
| Track memory allocations(overriding new operator) | https://github.com/346260722/cpp_tutorials/blob/master/docs/track_memory_allocations_overriding_new_operator.md |
| Trivial, standard-layout, Passive/ Plain old data structure (PDS)/ (POD), and literal types | https://github.com/346260722/cpp_tutorials/blob/master/docs/trivial_standard_pds_pod_layout.md |
| Type Traits | https://github.com/346260722/cpp_tutorials/blob/master/docs/type_traits.md |
| Typedef, Type alias (using keyword) | https://github.com/346260722/cpp_tutorials/blob/master/docs/typedef.md |
| type_dispatch, integral_constant, true/false type | https://github.com/346260722/cpp_tutorials/blob/master/src/type_dispatch_integral_constant_true_false_type.cpp |
| Unions | https://github.com/346260722/cpp_tutorials/blob/master/docs/union.md |
| Variant | https://github.com/346260722/cpp_tutorials/blob/master/docs/std_variant.md |
| Visit | https://github.com/346260722/cpp_tutorials/blob/master/docs/std_visit.md |
| Variadic Templates Function | https://github.com/346260722/cpp_tutorials/blob/master/docs/variadic_templates.md |
| Volatile Keyword | https://github.com/346260722/cpp_tutorials/blob/master/docs/volatile.md |
| C++ Classes | https://github.com/346260722/cpp_tutorials |
| Abstract Class Vs Interface | https://github.com/346260722/cpp_tutorials/blob/master/src/class/abstract_class_vs_interface.cpp |
| Cast Base Class to Derived/ Derived to Base | https://github.com/346260722/cpp_tutorials/blob/master/src/class/cast_Base_to_Derived_to_Base.cpp |
| Class Forward Declaration | https://github.com/346260722/cpp_tutorials/blob/master/docs/class_forward_declaration.md |
| Class Constructor Initializationlist | https://github.com/346260722/cpp_tutorials/blob/master/src/class/constructor_initialization_list.cpp |
| Class Constructor Aggregate/ Copy/ Default/ Direct/ Value/ Uniform/ Zero Initialization, Initializer List | https://github.com/346260722/cpp_tutorials/blob/master/docs/initialization.md |
| Copy Constructor, Copy Assignment, Move Constructor, Assignment | https://github.com/346260722/cpp_tutorials/blob/master/docs/copy_constructor_move_constructor.md |
| Shallow Copy, Deep CCopy | https://github.com/346260722/cpp_tutorials/blob/master/docs/shallow_copy_deep_copy.md |
| Cyclic (Circular) Dependency | https://github.com/346260722/cpp_tutorials/blob/master/docs/circular_dependencies.md |
| Default(=default), Deleted (=delete) Constructors | https://github.com/346260722/cpp_tutorials/blob/master/docs/default_constructors_=default_0_delete.md |
| Diamond Problem Virtual Inheritance | https://github.com/346260722/cpp_tutorials/blob/master/src/class/diamond_problem_virtual_inheritance.cpp |
| Explicit Constructor, Converting Constructor | https://github.com/346260722/cpp_tutorials/blob/master/docs/explicit_constructor.md |
| Friend Functions | https://github.com/346260722/cpp_tutorials/blob/master/src/class/friend_functions.cpp |
| Header Guard | https://github.com/346260722/cpp_tutorials/blob/master/src/class/header_guard |
| Inheritance, Inheritance Prevention (final) | https://github.com/346260722/cpp_tutorials/blob/master/src/class/inheritance.cpp |
| Multiple Inheritance Polymorphism | https://github.com/346260722/cpp_tutorials/blob/master/src/class/multiple_inheritance_polymorphism.cpp |
| Operator Overloading | https://github.com/346260722/cpp_tutorials/blob/master/docs/operator_overloading.md |
| Object Slicing | https://github.com/346260722/cpp_tutorials/blob/master/src/class/object_slicing.cpp |
| Passing Arguments To Parent Constructor | https://github.com/346260722/cpp_tutorials/blob/master/src/class/passing_arg_to_parent_constructor.cpp |
| Private Public Protected Inheritance | https://github.com/346260722/cpp_tutorials/blob/master/src/class/private_public_protected_inheritance.cpp |
| Protected Friend Class Function | https://github.com/346260722/cpp_tutorials/blob/master/src/class/protected_friend_class_function.cpp |
| Shadowing | https://github.com/346260722/cpp_tutorials/blob/master/src/class/shadowing.cpp |
| Static Member Function, Static Initialization Order Fiasco | https://github.com/346260722/cpp_tutorials/blob/master/docs/static_member_function_order_fiasco.md |
| Special Member Functions | https://github.com/346260722/cpp_tutorials/blob/master/docs/class_special_member_functions.md |
| Virtual Function Abstract Class | https://github.com/346260722/cpp_tutorials/blob/master/docs/virtual_function_abstract_class.md |
| Virtual Destructor, Virtual Constructor | https://github.com/346260722/cpp_tutorials/blob/master/docs/virtual_destructor_virtual_constructor.md |
| Multithreading and Process | https://github.com/346260722/cpp_tutorials |
| Process, Inter Process Communication (IPC), Process Tree, Process Control Block (PCB) | https://github.com/346260722/cpp_tutorials/blob/master/docs/process.md |
| Multithreading — Overview | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#1-overview |
| Creating and Terminating Threads (function pointer, member function, functor, lambda) | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#2-creating-and-terminating-threads |
| Joining and Detaching Threads | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#27-joining-threads |
| std::jthread and std::stop_token (C++20) | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#29-stdjthread-c20 |
| Hardware Concurrency and Oversubscription | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#32-hardware-concurrency-and-oversubscription |
| Thread Identity, Sleeping, Yielding | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#3-thread-properties |
| Race Conditions vs Data Races | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#411-race-condition-vs-data-race |
| Mutex (std::scoped_lock, lock_guard, unique_lock) | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#42-mutex |
| Deadlock and How to Avoid It | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#423-deadlock |
| Semaphores (counting, binary) | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#43-semaphores |
| Condition Variables and Spurious Wakeups | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#44-condition-variables |
| std::future, std::async, std::promise, std::packaged_task | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#5-async-tasks-and-stdfuture |
| std::atomic, Memory Ordering, ABA Problem | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#6-stdatomic |
| Designing Thread-Safe Classes | https://github.com/346260722/cpp_tutorials/blob/master/docs/multithreading.md#7-designing-thread-safe-classes |
| Event handling / Concurrency / Thread Design Patterns | https://github.com/346260722/cpp_tutorials/blob/master/docs/thread_design_pattern.md |
| Advance C++ Concepts and Idioms | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#advance-c-concepts-and-idioms |
| Argument-dependent lookup | https://github.com/346260722/cpp_tutorials/blob/master/docs/argument_dependent_lookup.md |
| Buffer overflow | https://github.com/346260722/cpp_tutorials/blob/master/docs/buffer_overflow.md |
| Copy and Swap | https://github.com/346260722/cpp_tutorials/blob/master/docs/copy-and-swap_idiom.md |
| Generating and Debugging Dump File | https://github.com/346260722/cpp_tutorials/blob/master/docs/generating_and_debugging_dump_file.md |
| Static Casting, Dynamic Casting | https://github.com/346260722/cpp_tutorials/blob/master/src/cast.cpp |
| Run-Time Type Information(RTTI) | https://github.com/346260722/cpp_tutorials/blob/master/docs/RTTI.md |
| Curiously Recurring Template Pattern (CRTP) | https://github.com/346260722/cpp_tutorials/blob/master/src/CRTP.cpp |
| Copy Elision, Return value optimization (RVO, NRVO) | https://github.com/346260722/cpp_tutorials/blob/master/docs/copy_elision.md |
| Double Dispatch | https://github.com/346260722/cpp_tutorials/blob/master/docs/double_dispatch.md |
| Most vexing parse | https://github.com/346260722/cpp_tutorials/blob/master/docs/most_vexing_parse.md |
| Metaprogramming | https://github.com/346260722/cpp_tutorials/blob/master/docs/metaprogramming.md |
| Pointer to implementation (PIMPL) | https://github.com/346260722/cpp_tutorials/blob/master/docs/PIMPL.md |
| Return Type Resolver | https://github.com/346260722/cpp_tutorials/blob/master/docs/return_type_resolver.md |
| Resource Acquisition Is Initialization (RAII) | https://github.com/346260722/cpp_tutorials/blob/master/docs/RAII.md |
| Rule of 3, Rule of 5 | https://github.com/346260722/cpp_tutorials/blob/master/docs/rule_of_3_rule_of_5.md |
| Substitution failure is not an error (SFINAE) | https://github.com/346260722/cpp_tutorials/blob/master/docs/SFINAE.md |
| Stack overflow | https://github.com/346260722/cpp_tutorials/blob/master/docs/stack_overflow.md |
| Stack Unwinding | https://github.com/346260722/cpp_tutorials/blob/master/docs/stack_unwinding.md |
| Type Erasure | https://github.com/346260722/cpp_tutorials/blob/master/docs/type_erasure.md |
| Template Specialization, Tag Dispatch | https://github.com/346260722/cpp_tutorials/blob/master/docs/template_specialization.md |
| Virtual Method Table(VTABLE), Virtual Table Pointer(VPTR) | https://github.com/346260722/cpp_tutorials/blob/master/docs/VTABLE_and_VPTR.md |
| Virtual address space | https://github.com/346260722/cpp_tutorials/blob/master/docs/virtual_address_space.md |
| Tricky Questions | https://github.com/346260722/cpp_tutorials/blob/master/docs/tricky_questions.md |
| C++ Translation Units | https://github.com/346260722/cpp_tutorials/blob/master/docs/translation_units.md |
| Undefined behavior, Unspecified and Implementation-Defined | https://github.com/346260722/cpp_tutorials/blob/master/docs/undefined_unspecified_implementation_defined.md |
| Printing List of All Included Headers | https://github.com/346260722/cpp_tutorials/blob/master/docs/print_all_included_headers.md |
| fPIE (Position Independent Executable) and fPIC(Position Independent Code and) | https://github.com/346260722/cpp_tutorials/blob/master/docs/fPIE_and_fPIC.md |
| Lexical Analyzer | https://github.com/346260722/cpp_tutorials/blob/master/docs/lexical_analyzer.md |
| std::optional, std::variant, and std::any | https://github.com/346260722/cpp_tutorials/blob/master/docs/any_variant_optional.md |
| Optimizing C++ | https://github.com/346260722/cpp_tutorials/blob/master/src/optimizing_cpp |
| https://github.com/346260722/cpp_tutorials#optimizing-c |
| Data File Storage Parsing | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#data-file-storage-parsing |
| CSV | https://github.com/346260722/cpp_tutorials/blob/master/docs/csv.md |
| YAML | https://github.com/346260722/cpp_tutorials/blob/master/docs/yaml-cpp.md |
| JSON | https://github.com/346260722/cpp_tutorials/blob/master/docs/json.md |
| XML | https://github.com/346260722/cpp_tutorials/blob/master/docs/tinyxml2.md |
| REST API, Microservices, and Communication Libraries with C++ | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#rest-api-microservices-and-communication-libraries-with-c |
| Monolithic Architecture vs REST API and Microservices | https://github.com/346260722/cpp_tutorials/blob/master/docs/microservices/REST_API_microservices.md |
| REST APIs / Webhooks with cURL (libcurl) | https://github.com/curl/curl |
| gRPC C++ (official) | https://github.com/grpc/grpc |
| WebSockets with IXWebSocket | https://github.com/machinezone/IXWebSocket |
| WebRTC with libdatachannel | https://github.com/paullouisageneau/libdatachannel |
| GraphQL with cppgraphqlgen | https://github.com/microsoft/cppgraphqlgen |
| XML SOAP with tinyxml2 + cURL | https://github.com/346260722/cpp_tutorials/blob/master/docs/microservices/xml_soap.md |
| REST API with crow | https://github.com/346260722/cpp_tutorials/blob/master/docs/microservices/REST_API_with_crow.md |
| mocking APIs with Mockoon | https://github.com/346260722/cpp_tutorials/blob/master/docs/microservices/mockoon.md |
| Test API with Postman | https://github.com/346260722/cpp_tutorials/blob/master/docs/microservices/test_API_with_postman.md |
| Event Streaming and Message Queuing with C++ | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#event-streaming-and-message-queuing-with-c |
| Apache Kafka | https://github.com/346260722/cpp_tutorials/blob/master/docs/event_streaming_message/apache_kafka.md |
| RabbitMQ | https://github.com/346260722/cpp_tutorials/blob/master/docs/event_streaming_message/rabbitMQ.md |
| Logging With C++ | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#logging-with-c |
| spdlog | https://github.com/346260722/cpp_tutorials/blob/master/docs/spdlog.md |
| Code Benchmarking | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#code-benchmarking |
| Google Benchmark | https://github.com/346260722/cpp_tutorials/blob/master/docs/google_benchmark.md |
| Code Profiling | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#code-profiling |
| Tracy Profiler | https://github.com/346260722/cpp_tutorials/blob/master/docs/tracy_profiler.md |
| C++ Package Manager | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#c-package-manager |
| Conan | https://github.com/346260722/cpp_tutorials/blob/master/docs/conan.md |
| vcpkg | https://github.com/346260722/cpp_tutorials/blob/master/docs/vcpkg.md |
| Chocolatey | https://chocolatey.org/install |
| Winget | https://learn.microsoft.com/en-us/windows/package-manager/winget/ |
| Documentation with Doxygen | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#documentation-with-doxygen |
| API documentation and UML diagram | https://github.com/346260722/cpp_tutorials/blob/master/docs/doxygen.md |
| Integrate Doxygen with GitHub Action | https://github.com/346260722/cpp_tutorials/blob/master/docs/doxygen.md |
| Application Packaging and Deployment | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#application-packaging-and-deployment |
| CPack Packaging | https://github.com/346260722/cpp_tutorials/blob/master/docs/cpack_packaging.md |
| Software versioning | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#software-versioning |
| Semantic Versioning | https://github.com/346260722/cpp_tutorials/blob/master/docs/semantic_versioning.md |
| Getting Version From Git in CMake | https://github.com/346260722/cpp_tutorials/blob/master/docs/getting_version_from_git_in_CMake.md |
| Getting Release Version From Git (check for update) | https://github.com/346260722/cpp_tutorials/blob/master/docs/get_the_release_version_github.md |
| C++ Coding Standards and Style Guide | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#c-coding-standards-and-style-guide |
| Goolge C++ Style Guide | https://google.github.io/styleguide/cppguide.html |
| isocpp | https://isocpp.org/wiki/faq/coding-standards |
| Bjarne Stroustrup's C++ Style | https://www.stroustrup.com/bs_faq2.html |
| Static analysis and linting with clang-tidy | https://github.com/346260722/cpp_tutorials/blob/master/docs/clang_tidy.md |
| C++ System Design | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#c-system-design |
| Memory Management Strategies (Pool, Arena, Slab Allocators) | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/memory_management.md |
| Object-Oriented Design Patterns (Factory, Singleton, Observer, Strategy) | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/design_patterns.md |
| Concurrency Patterns (Thread Pool, Producer-Consumer, Active Object) | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/concurrency_patterns.md |
| Lock-Free Data Structures (SPSC/SPMC/MPMC, ring buffers, hazard pointers, RCU) | https://github.com/346260722/cpp_tutorials/blob/master/docs/lock_free_data_structures.md |
| Cache-Friendly Data Structures and Data-Oriented Design | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/cache_friendly_design.md |
| Plugin Architecture and Dynamic Loading | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/plugin_architecture.md |
| Event-Driven Architecture and State Machines | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/event_driven_state_machines.md |
| API and ABI Design for C++ Libraries | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/api_abi_design.md |
| SOLID Principles in C++ | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/solid_principles.md |
| Real-Time Systems Design | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/realtime_systems.md |
| Embedded Systems Design | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/embedded_systems.md |
| Game Engine Architecture | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/game_engine_architecture.md |
| High-Performance Computing (HPC) Patterns | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/hpc_patterns.md |
| Serialization and Deserialization (Protobuf, FlatBuffers) | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/serialization.md |
| Error Handling Strategies and Fault Tolerance | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/error_handling_strategies.md |
| Design a reusable library | https://github.com/346260722/cpp_tutorials/blob/master/docs/system_design/design_a_reusable_library.md |
| VSCode | https://github.com/346260722/cpp_tutorials |
| https://github.com/346260722/cpp_tutorials#vscode |
| tasks.json, settings.json, launch.json | https://github.com/346260722/cpp_tutorials/blob/master/docs/vscode.md |
|
Readme
| https://github.com/346260722/cpp_tutorials#readme-ov-file |
| Please reload this page | https://github.com/346260722/cpp_tutorials |
|
Activity | https://github.com/346260722/cpp_tutorials/activity |
|
0
forks | https://github.com/346260722/cpp_tutorials/forks |
|
Report repository
| https://github.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2F346260722%2Fcpp_tutorials&report=346260722+%28user%29 |
| Releases | https://github.com/346260722/cpp_tutorials/releases |
| Packages
0 | https://github.com/users/346260722/packages?repo_name=cpp_tutorials |
| Please reload this page | https://github.com/346260722/cpp_tutorials |
| Contributors | https://github.com/346260722/cpp_tutorials/graphs/contributors |
| Please reload this page | https://github.com/346260722/cpp_tutorials |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |