--- title: "Basic Concepts (C++)" ms.custom: "index-page" ms.date: "12/11/2019" helpviewer_keywords: ["C++, basic language concepts"] ms.assetid: 961801e6-2ffd-4bf1-bb71-7f55e48d9c79 --- # Basic Concepts (C++) This section explains concepts that are critical to understanding C++. C programmers will be familiar with many of these concepts, but there are some subtle differences that can cause unexpected program results. The following topics are included: - [C++ type system](cpp-type-system-modern-cpp.md) - [Scope](scope-visual-cpp.md) - [Translation units and linkage](program-and-linkage-cpp.md) - [main function and command-line arguments](main-function-command-line-args.md) - [Program termination](program-termination.md) - [Lvalues and rvalues](lvalues-and-rvalues-visual-cpp.md) - [Temporary objects](temporary-objects.md) - [Alignment](alignment-cpp-declarations.md) - [Trivial, standard-layout and POD types](trivial-standard-layout-and-pod-types.md) ## See also [C++ Language Reference](cpp-language-reference.md)