If C++ scares you, or you've heard that it's a difficult language, this course will show you how easy Modern C++ can be. It's a powerful language that works on a huge variety of platforms and has useful features that other languages don't have.
C++ is a general purpose programming language that is used by millions of developers. It has a reputation for being hard to learn and use, but with the changes in the language over the last few decades, this reputation is no longer deserved. C++ offers a powerful combination of performance and abstraction that other languages don’t have. In this course, C++ Fundamentals Including C++ 17, you'll learn how to write simple console applications and be ready to move on to writing platform-specific code. First, you’ll learn the basics of language syntax: declaring variables, classes, building expressions using operators and functions, working up to templates, indirection, and polymorphism. You'll explore the syntax additions from C++ 11, C++ 14, and C++17, using any modern compiler to run the examples. You'll also see the principles of Modern C++ in action, relying on the Standard Library and using idioms like Resource Acquisition is Initialization to reduce the effort involved in memory management. By the end of this course, you’ll be comfortable reading and writing Modern C++, including features added in C++17.
What exactly is C++?
C++ is a general purpose programming language that offers a powerful combination of performance and abstraction that isn't found in other languages.
Is C++ a good first language to learn?
C++ is a good choice for a first programming language. It has a reputation for being difficult to learn, but C++ is very transparent and doesn't hide anything and its syntax is similar to many other programming languages.
What is C++ used for?
C++ is mainly used for systems programming and embedded systems. It is also used in application development, game development, animation, web browser development, developing database software, developing operating systems, and much more.
What will I learn in this course?
You will learn:
Basics of C++ language syntax
Expressions, operators, and functions
Syntax additions from C++ 11, C++ 14, and C++ 17
Is C++ difficult to learn?
C++ has a reputation for being a difficult programming language to learn, but in this course you will see how modern C++ is easier and more enjoyable to learn than past versions.
Are there any prerequisites?
There is no strict prerequisite to this course, but some exposure to another programming language (any programming language, not just C) will help solidify some concepts. Knowing the general "what" or "how" of calling functions or creating variables, etc. If you have no programming experience at all, try this Learn How to Program With C++ course instead!
What software or tools will I need for this course?
You'll need a compiler and a linker - tools that transform source code into something that can actually be executed on whatever platform you end up deploying your application to. GCC and Clang are popular compile/link tools. You will also need an editor for source code, such as Brackets, and you will need a debugger such as Google Dev Tools.
Who is this course for?
This course is for everyone who wants to learn how to program with C++! It is geared towards beginners, although it assumes some understanding of general programming basics.
Kate Gregory is in her fourth decade of being paid to program. Her firm, Gregory Consulting Limited, is based in rural Ontario and helps clients adopt new technologies and adjust to the changing business environment. Current work makes heavy use of .NET and Visual C++ for both web and client development, especially for Windows 7 and 8. Managing, mentoring, technical writing, and technical speaking occupy much of her time, but she still writes code every week.
Course Overview Hi everyone, my name is Kate Gregory, and welcome to my course, C++ Fundamentals Including C++ 17. I'm a consultant and mentor at Gregory Consulting. I've been using C++ for over 30 years and I speak at C++ conferences regularly. C++ is a powerful language that's suitable for platforms as small as you can imagine, applications that literally run in piece or jewelry, and as large as you can imagine too. It delivers tremendous performance, not just fast code, but code that uses less electricity to get the job done, and it keeps changing as the standards committee adds language and library features. This course is an introduction to today's C++, readable, expressive, powerful coding that uses the full capability of the language. If you think you remember C++, especially if you remember it from last century, you probably don't. Modern C++ is easier to learn and you're going to like learning it. Some of the major topics we're going to cover include the basic syntax, you know variables, expressions, functions, classes, and then templates, operator overloading, const, these are things that C++ has that not all languages do so they get a little more attention. And we'll work our way up to indirection with pointers, and references, and how to avoid manual memory management. By the end of the course you'll be comfortable reading and writing modern C++, including features that were added in C++ 11, C++ 14, and C++ 17. You'll know how to write simple console applications and you'll be ready to move to writing platform-specific code. Before beginning the course you should have done some programming in any other language; that language doesn't have to be C, literally any language would be fine. It just helps if you already understand the idea of a variable or of calling a function. If you have no programming experience at all try my Learn How to Program With C++ course instead, it starts a little earlier in the process. From here you should feel comfortable diving into C++ with courses on STL algorithm, the C++ core guidelines, and other advanced topics. I hope you'll join me on this journey to learn C++ with the C++ Fundamentals Including C++ 17 course, here at Pluralsight.