티스토리 수익 글 보기
—
title: “C++ Language Reference”
description: “Learn more about: C++ Language Reference”
ms.custom: “index-page”
ms.date: 12/10/2019
helpviewer_keywords: [“C++, language reference”]
—
# C++ Language Reference
This reference explains the C++ programming language as implemented in the Microsoft C++ compiler. The organization is based on *The Annotated C++ Reference Manual* by Margaret Ellis and Bjarne Stroustrup and on the ANSI/ISO C++ International Standard (ISO/IEC FDIS 14882). Microsoft-specific implementations of C++ language features are included.
For an overview of Modern C++ programming practices, see [Welcome Back to C++](welcome-back-to-cpp-modern-cpp.md).
See the following tables to quickly find a keyword or operator:
– [C++ Keywords](keywords-cpp.md)
– [C++ Operators](cpp-built-in-operators-precedence-and-associativity.md)
## In This Section
[Lexical Conventions](lexical-conventions.md)\
Fundamental lexical elements of a C++ program: tokens, comments, operators, keywords, punctuators, literals. Also, file translation, operator precedence/associativity.
[Basic Concepts](basic-concepts-cpp.md)\
Scope, linkage, program startup and termination, storage classes, and types.
[Built-in types](fundamental-types-cpp.md)\
The fundamental types that are built into the C++ compiler and their value ranges.
[Standard Conversions](standard-conversions.md)\
Type conversions between built-in types. Also, arithmetic conversions and conversions among pointer, reference, and pointer-to-member types.
[Declarations and definitions](declarations-and-definitions-cpp.md)\
Declaring and defining variables, types and functions.
[Operators, Precedence and Associativity](cpp-built-in-operators-precedence-and-associativity.md)\
The operators in C++.
[Expressions](expressions-cpp.md)\
Types of expressions, semantics of expressions, reference topics on operators, casting and casting operators, run-time type information.
[Lambda Expressions](lambda-expressions-in-cpp.md)\
A programming technique that implicitly defines a function object class and constructs a function object of that class type.
[Statements](statements-cpp.md)\
Expression, null, compound, selection, iteration, jump, and declaration statements.
[Classes and structs](classes-and-structs-cpp.md)\
Introduction to classes, structures, and unions. Also, member functions, special member functions, data members, bit fields, **`this`** pointer, nested classes.
[Unions](unions.md)\
User-defined types in which all members share the same memory location.
[Derived Classes](inheritance-cpp.md)\
Single and multiple inheritance, **`virtual`** functions, multiple base classes, **abstract** classes, scope rules. Also, the **`__super`** and **`__interface`** keywords.
[Member-Access Control](member-access-control-cpp.md)\
Controlling access to class members: **`public`**, **`private`**, and **`protected`** keywords. Friend functions and classes.
[Overloading](operator-overloading.md)\
Overloaded operators, rules for operator overloading.
[Exception Handling](exception-handling-in-visual-cpp.md)\
C++ exception handling, structured exception handling (SEH), keywords used in writing exception handling statements.
[Assertion and User-Supplied Messages](assertion-and-user-supplied-messages-cpp.md)\
`#error` directive, the **`static_assert`** keyword, the `assert` macro.
[Templates](templates-cpp.md)\
Template specifications, function templates, class templates, **`typename`** keyword, templates vs. macros, templates and smart pointers.
[Event Handling](event-handling.md)\
Declaring events and event handlers.
[Microsoft-Specific Modifiers](microsoft-specific-modifiers.md)\
Modifiers specific to Microsoft C++. Memory addressing, calling conventions, **`naked`** functions, extended storage-class attributes (**`__declspec`**), **`__w64`**.
[Inline Assembler](../assembler/inline/inline-assembler.md)\
Using assembly language and C++ in **`__asm`** blocks.
[Compiler COM Support](compiler-com-support.md)\
A reference to Microsoft-specific classes and global functions used to support COM types.
[Microsoft Extensions](microsoft-extensions.md)\
Microsoft extensions to C++.
[Nonstandard Behavior](nonstandard-behavior.md)\
Information about nonstandard behavior of the Microsoft C++ compiler.
[Welcome Back to C++](welcome-back-to-cpp-modern-cpp.md)\
An overview of modern C++ programming practices for writing safe, correct and efficient programs.
## Related Sections
[Component Extensions for Runtime Platforms](../extensions/component-extensions-for-runtime-platforms.md)\
Reference material on using the Microsoft C++ compiler to target .NET.
[C/C++ Building Reference](../build/reference/c-cpp-building-reference.md)\
Compiler options, linker options, and other build tools.
[C/C++ Preprocessor Reference](../preprocessor/c-cpp-preprocessor-reference.md)\
Reference material on pragmas, preprocessor directives, predefined macros, and the preprocessor.
[Visual C++ Libraries](../standard-library/cpp-standard-library-reference.md)\
A list of links to the reference start pages for the various Microsoft C++ libraries.
## See also
[C Language Reference](../c-language/c-language-reference.md)