--- title: "Basic Concepts (C++) | Microsoft Docs" ms.custom: "" ms.date: "11/04/2016" ms.reviewer: "" ms.suite: "" ms.technology: - "cpp-language" ms.tgt_pltfrm: "" ms.topic: "index-page " dev_langs: - "C++" helpviewer_keywords: - "C++, basic language concepts" ms.assetid: 961801e6-2ffd-4bf1-bb71-7f55e48d9c79 caps.latest.revision: 8 author: "mikeblome" ms.author: "mblome" manager: "ghogen" translation.priority.ht: - "de-de" - "es-es" - "fr-fr" - "it-it" - "ja-jp" - "ko-kr" - "ru-ru" - "zh-cn" - "zh-tw" translation.priority.mt: - "cs-cz" - "pl-pl" - "pt-br" - "tr-tr" --- # 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: - [Declarations and definitions](../cpp/declarations-and-definitions-cpp.md) - [Scope of a C++ object or function](../cpp/scope-visual-cpp.md) - [Program definition and linkage rules](../cpp/program-and-linkage-cpp.md) - [Startup and termination](../cpp/startup-and-termination-cpp.md) - [L-values and r-values](../cpp/lvalues-and-rvalues-visual-cpp.md) - [Temporary Objects](../cpp/temporary-objects.md) - [Alignment](../cpp/alignment-cpp-declarations.md) - [alignof and alignas](../cpp/alignof-and-alignas-cpp.md) - [Trivial, standard-layout and POD types](../cpp/trivial-standard-layout-and-pod-types.md) ## See Also [C++ Language Reference](../cpp/cpp-language-reference.md)