User:Serbanu C++11

From RAD Studio API Documentation
Jump to: navigation, search

Here is the list of C++11 features that are supported by the C++ 64bit compiler.



Rvalue References description

Rvalue References Example

Rvalue references for *this

Rvalue references for *this Example

Initialization of class objects by rvalues

Initialization of class objects by rvalues Example

Non-static data member initializers

Non-static data member initializers Example

Variadic templates

Variadic templates Example

Extending variadic template template parameters

Extending variadic template template parameters Example

Initializer lists

Initializer lists Example

Static assertions

Static assertions Example

auto-typed variables

auto-typed variables Example

Multi-declarator auto

Multi-declarator auto Example

Removal of auto as a storage-class specifier

Removal of auto as a storage-class specifier Example

New function declarator syntax

New function declarator syntax Example

Lambda expressions

Lambda expressions Example

Declared type of an expression

Declared type of an expression Example

Incomplete return types

Incomplete return types Example

Right angle brackets

Right angle brackets Example

Default template arguments for function templates

Default template arguments for function templates Example

Solving the SFINAE problem for expressions

Solving the SFINAE problem for expressions Example

Alias templates

Alias templates Example

Extern templates

Extern templates Example

Null pointer constant

C++11 introduces the nullptr constant in order to remove the ambiguity between 0 and a null pointer.

Although the NULL macro exists, it is insufficient because it cannot be distinguished from the integer 0 in a call to a function that has one overload with an int parameter and another with a char* parameter.

Therefore, nullptr is now a reserved word. The integer 0 will not be implicitly converted to any pointer type. The null pointer can only be converted to any pointer type.

Note:The null pointer cannot be used in an arithmetic expression, assigned to an integral value, or compared to an integral value.

Note:For more information see : Null pointer constant proposal document.

Null pointer constant Example

Strongly-typed enums

Strongly-typed enums is a C++11 feature that is supported by both the 32-bit and 64-bit compilers.

For more information about this feature, see the BCC32 documentation here: Strongly Typed Enums.

Forward declarations for enums

Forward declarations for enums is a feature supported by both the 32bit and 64bit compilers.

For more information about this feature see the BCC32 documentation here: Forward Declaration of Enums.

Generalized constant expressions

Generalized constant expressions Example

Alignment support

Alignment support Example

Delegating constructors

Delegating constructors Example

Explicit conversion operators

Explicit conversion operators Example

New character types

New character types Example

Unicode string literals

Unicode string literals Example

Raw string literals

Raw string literals Example

Universal character names in literals

Universal character names in literals Example

User-defined literals

User-defined literals Example

Standard Layout Types

Standard Layout Types Example

Defaulted functions

Defaulted functions Example

Deleted functions

Deleted functions Example

Extended friend declarations

Extended friend declarations Example

Extending sizeof

Extending sizeof Example

Inline namespaces

Inline namespaces Example

Unrestricted unions

Unrestricted unions Example

Local and unnamed types as template arguments

Local and unnamed types as template arguments Example

Range-based for

Range-based for Example

Explicit virtual overrides

Explicit virtual overrides Example

Allowing move constructors to throw [noexcept]

Allowing move constructors to throw [noexcept] Example

Defining move special member functions

Defining move special member functions Example

Atomic operations

Atomic operations Example

Strong Compare and Exchange

Strong Compare and Exchange Example

Bidirectional Fences

Bidirectional Fences Example

Propagating exceptions

Propagating exceptions Example

Allow atomics use in signal handlers

Allow atomics use in signal handlers Example

__func__ predefined identifier

__func__ predefined identifier Example

C99 preprocessor

C99 preprocessor Example

long long type

long long type Example