{"id":20567349,"url":"https://github.com/sombriks/my-cpp-handbook","last_synced_at":"2025-07-31T12:06:32.181Z","repository":{"id":247508715,"uuid":"825984770","full_name":"sombriks/my-cpp-handbook","owner":"sombriks","description":"Small exercises and experiments on C++","archived":false,"fork":false,"pushed_at":"2025-02-11T13:39:40.000Z","size":71,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T09:23:00.805Z","etag":null,"topics":["clang","cpp","gcc","study-project"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sombriks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":["sombriks"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2024-07-08T22:15:45.000Z","updated_at":"2025-02-11T13:39:43.000Z","dependencies_parsed_at":"2024-12-28T20:22:03.752Z","dependency_job_id":"42c16fd0-96bf-4ceb-9396-6ad762142e89","html_url":"https://github.com/sombriks/my-cpp-handbook","commit_stats":null,"previous_names":["sombriks/my-cpp-handbook"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sombriks/my-cpp-handbook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sombriks%2Fmy-cpp-handbook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sombriks%2Fmy-cpp-handbook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sombriks%2Fmy-cpp-handbook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sombriks%2Fmy-cpp-handbook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sombriks","download_url":"https://codeload.github.com/sombriks/my-cpp-handbook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sombriks%2Fmy-cpp-handbook/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268035837,"owners_count":24185103,"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","status":"online","status_checked_at":"2025-07-31T02:00:08.723Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["clang","cpp","gcc","study-project"],"created_at":"2024-11-16T04:46:26.363Z","updated_at":"2025-07-31T12:06:31.624Z","avatar_url":"https://github.com/sombriks.png","language":"C++","funding_links":["https://github.com/sponsors/sombriks"],"categories":[],"sub_categories":[],"readme":"# [my-cpp-handbook][repo]\n\nSmall exercises and experiments on the C++ language.\n\nEach exercise tries to cope some core aspect of the language, but focused on how\nto solve problemas using it.\n\nComplexity will grow with each exercise, and the background history as well.\nIt's the same formula from [my golang handbook][my-golang-handbook].\n\nThink about C++ is to think about the computer history itself. The language\npredates the internet and was born to ease the task of writing core things, like\noperating systems and network stacks. There is one standard, yet there are many\nidioms, many libraries, many compilers.\n\nThe language is still evolving. And yet it still holds great retrocompatibility\nwith [C][c] language. This is both the blessing and the curse of C++.\n\n## Base agenda\n\nWe are covering at least the following topics:\n\n- Hello world\n- Basic input (environment, arguments, interactive)\n- Primitive types\n- Basic control flow structures\n- Functions\n- Pointers\n- Basic IO (files)\n- Modularity (how to separate and organize code)\n- Custom types and Classes\n- Templates\n- Compilation and compilers\n- Project structure\n- Other noteworthy libraries\n- Intermediate IO (socket networking)\n- Concurrency (threads)\n- Cross-Compiling\n\n## Why C++?\n\nIt is a quite easy task to talk bad about C++. The time the language took to\nevolve and offer basic things didn't help either.\n\nBut it's flexible and  modern, [actively evolving][cpp-comitee], adding modern\nfeatures without lose the compatibility with C or 'the past'.\n\n## Requirements\n\nThis guide was mostly written and tested on [Fedora Linux][get-fedora], with\neither [gcc][gcc] or [clang][clang] compilers. However, it is supposed to be\npossible to run those exercises in any operating system with a standard C++\ncompiler and runtime library.\n\n## How this handbook is structured\n\nEach exercise has a README with specific context and instructions on how to\nbuild and run the sample code. Sometimes it's just a single source file,\nsometimes a more structured project.\n\n[repo]: https://github.com/sombriks/my-cpp-handbook\n[my-golang-handbook]: \u003chttps://github.com/sombriks/my-golang-handbook\u003e\n[c]: https://iso-9899.info/wiki/The_Standard\n[cpp-comitee]: https://isocpp.org/std/the-committee\n[get-fedora]: https://fedoraproject.org/workstation/\n[gcc]: https://gcc.gnu.org/\n[clang]: https://clang.llvm.org/cxx_status.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsombriks%2Fmy-cpp-handbook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsombriks%2Fmy-cpp-handbook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsombriks%2Fmy-cpp-handbook/lists"}