Git Product home page Git Product logo

cpp-fundamentals's Introduction

GitHub issues GitHub forks GitHub stars PRs Welcome

C++ Fundamentals

C++ has been a major player in the software development industry for more than 30 years, supporting some of the most successful companies in the world. In recent years, the interest in the language has been growing more than ever and the language is now extremely active, with many big companies sponsoring its advancement. C++ remains a complex language which leaves a lot of power in the hand of the developer: this also comes with a lot of opportunities to make mistakes. This course is going to provide a solid foundation and all the skills needed to start being proficient in modern C++, with care in highlighting the best practices of the language and how to avoid the common pitfalls. Learn the unique features of C++, discover the new features added in C++11, C++14, and C++17 and understand why the language has been so widely successful for more than 30 years, keeping up with other modern languages.

Authors: Antonio Mallia, Francesco Zoffoli

What you will learn

  • Get a solid introduction on the language, its tools, and how you can transform your ideas into modern C++ code, using both the widespread C++11 features as well as more modern C++17 features.
  • Get familiar with the C++ more advanced features : the standard library, resource management, OOP, templates, and more.
  • Learn the best practices to maintainable and high performance solution.
  • Upgrade your skills through multiple real-world use cases of C++

Hardware requirements

For an optimal student experience, we recommend the following hardware configuration:

  • 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
  • Memory: 4GB RAM
  • Hard disk: 40GB or more
  • An Internet connection

Software requirements

You’ll also need the following software installed in advance:

  • Browser: Google Chrome/Mozilla Firefox Latest Version
  • VSCode IDE, Latest Version
  • Compiler:
    • Windows: Build Tools for Visual Studio 2017
    • Linux: gcc, 6.0 or later
    • MacOS: Xcode 10.1, or later

Setting up the build environment

Windows
  1. Install the build tools for visual studio 2017
  2. Open "Developer Command Prompt for VS 2017" from the start menu
  3. You can now run the C++ compiler (cl.exe) from that prompt

For problems see the walkthrough.

Ubuntu
  1. Open a Terminal (ctrl + shift + T)
  2. Type sudo apt-get update then perss Enter
  3. Type sudo apt-get install build-essential then press Enter. Respond with yes at the questions.
  4. You can now run the C++ compiler (g++) from any terminal
MacOS
  1. Open a Terminal (found in /Applications/Utilities/)
  2. Type xcode-select --install then press Enter
  3. A software update popup window will appear, click “Install” and agree to the Terms of Service when requested.
  4. You can now run the C++ compiler (clag++) from any terminal

cpp-fundamentals's People

Contributors

amallia avatar makersf avatar packtsnehalt avatar steffimonteiro avatar vishalmewadapackt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cpp-fundamentals's Issues

w_char vs char

To find acces and comment to the errata takes way to much of my time. I spent 10 minutes without succes. Also the discussion better fits here.
In chapter one it is written:

Wide character: The wchar_t type is also used to represent character sets,
but allows for greater size. While char supports characters between 8 and 32 bits,
a wide character is 2 to 4 bytes long.

Which made me curious, because it's kind of like:

On saturdays I weigh 80kg but on sundays I weigh 80000g. So on sundays I'm bigger.

But to point to the more interesting point for programming I found this article if you are curious:
https://stackoverflow.com/questions/45677774/char-vs-wchar-t-when-to-use-which-data-type/45679028

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.