-->
C and C Language Syntax Reference. Most of the notes in this reference conform to both C and C. When a syntax distinction between C and C exists, it is explicitly noted. Some elements are listed under multiple categories, in which case all but the primary reference have listed with an @ sign. Flow Control If statement. Language Reference. Arduino programming language can be divided in three main parts: structure, values (variables and constants), and functions. For controlling the Arduino board and performing computations.
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++.
See the following tables to quickly find a keyword or operator:
In This Section
Lexical Conventions
Fundamental lexical elements of a C++ program: tokens, comments, operators, keywords, punctuators, literals. Also, file translation, operator precedence/associativity.
Fundamental lexical elements of a C++ program: tokens, comments, operators, keywords, punctuators, literals. Also, file translation, operator precedence/associativity.
Basic Concepts
Scope, linkage, program startup and termination, storage classes, and types.
Scope, linkage, program startup and termination, storage classes, and types.
Standard Conversions
Type conversions between built-in, or 'fundamental,' types. Also, arithmetic conversions and conversions among pointer, reference, and pointer-to-member types.
Type conversions between built-in, or 'fundamental,' types. Also, arithmetic conversions and conversions among pointer, reference, and pointer-to-member types.
Operators, Precedence and Associativity
The operators in C++.
The operators in C++.
Expressions
Types of expressions, semantics of expressions, reference topics on operators, casting and casting operators, run-time type information.
Types of expressions, semantics of expressions, reference topics on operators, casting and casting operators, run-time type information.
Lambda Expressions
A programming technique that implicitly defines a function object class and constructs a function object of that class type.
A programming technique that implicitly defines a function object class and constructs a function object of that class type.
Statements
Expression, null, compound, selection, iteration, jump, and declaration statements.
Expression, null, compound, selection, iteration, jump, and declaration statements.
Declarations and Definitions
Storage-class specifiers, function definitions, initializations, enumerations, class, struct, and union declarations, and typedef Corel draw x5 serial numbers. declarations. Also, inline functions, const keyword, namespaces.
Storage-class specifiers, function definitions, initializations, enumerations, class, struct, and union declarations, and typedef Corel draw x5 serial numbers. declarations. Also, inline functions, const keyword, namespaces.
Openvms C Language Reference Manual
Classes, Structures, and Unions
Introduction to classes, structures, and unions. Also, member functions, special member functions, data members, bit fields, this pointer, nested classes.
Introduction to classes, structures, and unions. Also, member functions, special member functions, data members, bit fields, this pointer, nested classes.
Derived Classes
Single and multiple inheritance, virtual functions, multiple base classes, abstract classes, scope rules. Also, the __super and __interface keywords.
Single and multiple inheritance, virtual functions, multiple base classes, abstract classes, scope rules. Also, the __super and __interface keywords.
Member-Access Control
Controlling access to class members: public, private, and protected keywords. Friend functions and classes.
Controlling access to class members: public, private, and protected keywords. Friend functions and classes.
Overloading
Overloaded operators, rules for operator overloading.
Overloaded operators, rules for operator overloading.
Exception Handling
C++ exception handling, structured exception handling (SEH), keywords used in writing exception handling statements.
C++ exception handling, structured exception handling (SEH), keywords used in writing exception handling statements.
Assertion and User-Supplied Messages
#error
directive, the static_assert keyword, the assert
macro.Templates
Template specifications, function templates, class templates, typename keyword, templates vs. macros, templates and smart pointers.
Template specifications, function templates, class templates, typename keyword, templates vs. macros, templates and smart pointers.
Event Handling
Declaring events and event handlers.
Declaring events and event handlers.
Microsoft-Specific Modifiers
Modifiers specific to Microsoft C++. Memory addressing, calling conventions, naked functions, extended storage-class attributes (__declspec), __w64.
Modifiers specific to Microsoft C++. Memory addressing, calling conventions, naked functions, extended storage-class attributes (__declspec), __w64.
Inline Assembler
Using assembly language and C++ in __asm blocks.
Using assembly language and C++ in __asm blocks.
Compiler COM Support
A reference to Microsoft-specific classes and global functions used to support COM types.
A reference to Microsoft-specific classes and global functions used to support COM types.
Microsoft Extensions
Microsoft extensions to C++.
Microsoft extensions to C++.
Nonstandard Behavior
Information about nonstandard behavior of the Microsoft C++ compiler.
Information about nonstandard behavior of the Microsoft C++ compiler.
Welcome Back to C++
An overview of modern C++ programming practices for writing safe, correct and efficient programs.
An overview of modern C++ programming practices for writing safe, correct and efficient programs.
Related Sections
Component Extensions for Runtime Platforms
Reference material on using the Microsoft C++ compiler to target .NET.
Reference material on using the Microsoft C++ compiler to target .NET.
C/C++ Building Reference
Compiler options, linker options, and other build tools.
Compiler options, linker options, and other build tools.
C/C++ Preprocessor Reference
Reference material on pragmas, preprocessor directives, predefined macros, and the preprocessor.
Reference material on pragmas, preprocessor directives, predefined macros, and the preprocessor.
Visual C++ Libraries
A list of links to the reference start pages for the various Microsoft C++ libraries.
A list of links to the reference start pages for the various Microsoft C++ libraries.