{"id":20200036,"url":"https://github.com/trainingbypackt/cpp-fundamentals","last_synced_at":"2025-04-10T11:10:53.318Z","repository":{"id":46688125,"uuid":"154268483","full_name":"TrainingByPackt/Cpp-Fundamentals","owner":"TrainingByPackt","description":"Hit the ground running with C++","archived":false,"fork":false,"pushed_at":"2021-09-29T23:09:27.000Z","size":84,"stargazers_count":23,"open_issues_count":2,"forks_count":15,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T10:01:26.304Z","etag":null,"topics":["array","best-practices","class","cpp17","encapsulation","functor","inheritance"],"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/TrainingByPackt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-23T05:38:07.000Z","updated_at":"2023-12-31T05:01:57.000Z","dependencies_parsed_at":"2022-09-05T23:41:11.116Z","dependency_job_id":null,"html_url":"https://github.com/TrainingByPackt/Cpp-Fundamentals","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/TrainingByPackt%2FCpp-Fundamentals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrainingByPackt%2FCpp-Fundamentals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrainingByPackt%2FCpp-Fundamentals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrainingByPackt%2FCpp-Fundamentals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TrainingByPackt","download_url":"https://codeload.github.com/TrainingByPackt/Cpp-Fundamentals/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248208561,"owners_count":21065202,"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":["array","best-practices","class","cpp17","encapsulation","functor","inheritance"],"created_at":"2024-11-14T04:41:21.172Z","updated_at":"2025-04-10T11:10:53.301Z","avatar_url":"https://github.com/TrainingByPackt.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![GitHub issues](https://img.shields.io/github/issues/TrainingByPackt/Cpp-Fundamentals.svg)](https://github.com/TrainingByPackt/Cpp-Fundamentals/issues)\n[![GitHub forks](https://img.shields.io/github/forks/TrainingByPackt/Cpp-Fundamentals.svg)](https://github.com/TrainingByPackt/Cpp-Fundamentals/network)\n[![GitHub stars](https://img.shields.io/github/stars/TrainingByPackt/Cpp-Fundamentals.svg)](https://github.com/TrainingByPackt/Cpp-Fundamentals/stargazers)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/TrainingByPackt/Cpp-Fundamentals/pulls)\n\n\n\n# C++ Fundamentals\nC++ has been a major player in the software development industry for more than 30 years, supporting some of\nthe most successful companies in the world.\nIn recent years, the interest in the language has been growing more than ever and the language is now\nextremely active, with many big companies sponsoring its advancement.\nC++ remains a complex language which leaves a lot of power in the hand of the developer: this also comes\nwith a lot of opportunities to make mistakes.\nThis course is going to provide a solid foundation and all the skills needed to start being proficient in modern\nC++, with care in highlighting the best practices of the language and how to avoid the common pitfalls.\nLearn the unique features of C++, discover the new features added in C++11, C++14, and C++17 and\nunderstand why the language has been so widely successful for more than 30 years, keeping up with other\nmodern languages.\n\n**Authors**: Antonio Mallia, Francesco Zoffoli\n\n## What you will learn\n* Get a solid introduction on the language, its tools, and how you can transform your ideas into\nmodern C++ code, using both the widespread C++11 features as well as more modern C++17\nfeatures.\n* Get familiar with the C++ more advanced features : the standard library, resource management, OOP,\ntemplates, and more.\n* Learn the best practices to maintainable and high performance solution.\n* Upgrade your skills through multiple real-world use cases of C++\n\n\n\n### Hardware requirements\nFor an optimal student experience, we recommend the following hardware configuration:\n* **OS**: Windows 7 SP1 64-bit, Windows 8.1 64-bit or Windows 10 64-bit, Ubuntu Linux (16.04 or later), or the latest version of OS X\n* **Memory**: 4GB RAM \n* **Hard disk**: 40GB or more\n* An Internet connection\n\n\n\n### Software requirements\nYou’ll also need the following software installed in advance:\n* Browser: Google Chrome/Mozilla Firefox Latest Version\n* VSCode IDE, Latest Version\n* Compiler:\n    - Windows: Build Tools for Visual Studio 2017\n    - Linux: gcc, 6.0 or later\n    - MacOS: Xcode 10.1, or later\n\n#### Setting up the build environment\n\n##### Windows\n\n1. Install the [build tools for visual studio 2017](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2017)\n2. Open \"Developer Command Prompt for VS 2017\" from the start menu\n3. You can now run the C++ compiler (`cl.exe`) from that prompt\n\nFor problems [see the walkthrough](https://docs.microsoft.com/en-us/cpp/build/walkthrough-compiling-a-native-cpp-program-on-the-command-line?view=vs-2017).\n\n##### Ubuntu\n\n1. Open a Terminal (ctrl + shift + T)\n2. Type `sudo apt-get update` then perss Enter\n3. Type `sudo apt-get install build-essential` then press Enter. Respond with yes at the questions.\n4. You can now run the C++ compiler (`g++`) from any terminal\n\n##### MacOS\n\n1. Open a Terminal (found in /Applications/Utilities/)\n2. Type `xcode-select --install` then press Enter\n3. A software update popup window will appear, click “Install” and agree to the Terms of Service when requested.\n4. You can now run the C++ compiler (`clag++`) from any terminal\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrainingbypackt%2Fcpp-fundamentals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrainingbypackt%2Fcpp-fundamentals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrainingbypackt%2Fcpp-fundamentals/lists"}