Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

C++11 Features Supported by Intel® C++ Compiler

$
0
0


Starting in 11.0 the Intel(R) C++ Compiler has supported some of the C++11 features (previously called C++0x). With the latest release of Intel C++ Composer XE for Windows*, Linux* and Mac OS* X 2013 SP1, more C++11 features are supported.

Standard#Core Language FeaturesVersion 11.1Version 12.0Version 12.0 Update 6 or 12.1Version 13.0Version 14.0
N1610Initialization of class objects by rvaluesYesYesYesYesYes
N1720static_assertYesYesYesYesYes
N1737Multi-declarator auto-YesYesYesYes
N1757Right angle bracketsYesYesYesYesYes
N1791Extended friend declarationsPartialYesYesYesYes
N1984auto: Deducing the type of variable from its initializer expression-YesYesYesYes
N1986Delegating constructors----Yes
N1987Extern templatesYesYesYesYesYes
N2118Rvalues references-YesYesYesYes
N2170Universal character names in literals--YesYesYes
N2235Generalized constant expressions---PartialYes
N2242variadic templates v0.9--YesYesYes
N2249char16_t/char32_t types--Partial on Windows;
Yes on Linux & Mac OS X
Partial on Windows;
Yes on Linux & Mac OS X
Yes
N2253Extended sizeof-----
N2258alias templates--YesYesYes
N2341Alignment: Adding Alignment Support to the C++ Programming Language-----
N2342Standard-layout and trivial types-----
N2343decltype v1.0-YesYesYesYes
N2346deleted and defaulted functions-YesYesYesYes
N2347Explicit enum bases and scoped enums---YesYes
N2347Strongly typed enumsPartialPartialPartialPartialYes
N2431nullptr--YesYesYes
N2437Explicit conversion operators---YesYes
N2439Rvalue references for *this----Yes
N2442Raw string literals----

Yes

N2535Inline namespaces----Yes
N2540Inheriting constructors-----
N2541auto: Trailing return types-YesYesYesYes
N2541Late-specified return types--YesYesYes
N2544Unrestricted unions----Yes on Linux* & OS X*
No on Windows
N2546auto v1.0: Removal of auto as a storage-class specifier-YesYesYesYes
N2550Lambdas v0.9: Lambda Expressions and Closures-YesYesYesYes
N2555variadic templates v1.0--YesYesYes
N2634New-style Expression SFINAE (N2634)--YesYesYes
N2657Local and unnamed types as template arguments-YesYesYesYes
N2658Lambdas v1.0: Constness of Lambda Functions-YesYesYesYes
N2670Minimal support for garbage collection-----
N2672General initializer lists---PartialYes
N2756Non-static data member initializers----Yes
N2761Standard attributes (N2761)--YesYesYes
N2764Forward declared enumsPartialPartialPartialPartialYes
N2765User-defined literals-----
N2844Rvalue references v2-YesYesYesYes
N2927Lambdas v1.1: New wording for C++0x Lambdas-YesYesYesYes
N2928Explicit Virtual Overrides----Yes
N2930Range-based for loops---YesYes
N2947Additional type traits---YesYes
N3050noexcept or Allowing move constructors to throw----Yes
N3052Conversions of lambdas to function pointers---YesYes
N3053RValues: Defining Move Special Member Functions----Yes
N3206Explicit virtual overrides -> Override control: Eliminating Attributes-----
N3272override and final----Yes
N3276decltype v1.1: Decltype and Call Expressions-YesYesYesYes
Core issue 382Allow typename outside of templates-YesYesYesYes
DR226Default template arguments for function templates--YesYesYes
 Core Language Features: Concurrency     
N2179exception_ptr-YesYesYesYes
N2239Reworded sequence points-----
N2440quick_exit-----
N2427atomic types and operations---YesYes
N2429Memory model-----
N2547Atomics in signal handlers-----
N2659Thread-local storage-----
N2660Magic statics-----
N2664Data-dependency ordering-----
N2748Strong compare and exchange-----
N2752Bidirectional fences-----
N2782Data-dependency ordering: function annotation-----
 Core Language Features: C99     
N1653C99 preprocessorYesYesYesYesYes
N1811long longYesYesYesYesYes
N2340__func__YesYesYesYesYes
N1988Extended integer types-----


On Windows environment when using Intel C++ compiler with Visual Studio 2010* or 2012*, the C++11 features supported by Visual C++ 2010/2012 are enabled by default. Use "/Qstd=c++11" to turn on the support for all other cases.
On Linux or Mac OS X environment use "-std=c++11".

Note: /Qstd=c++0x (-std=c++0x on Linux or Mac OS X) is still supported. it is the same as /Qstd=c++11(-std=c++11 on Linux or Mac OS X).


Please read the documentation for detail information under /Qstd (-std on Linux* or Mac OS* X) option.

See C99 Support in Intel C++ Compilerarticle for supported C99 features.

-----

  • C++11
  • C++0x
  • Learning Lab
  • VersionSpecific
  • Desarrolladores
  • Apple Mac OS X*
  • Linux*
  • Microsoft Windows* (XP, Vista, 7)
  • C/C++
  • Intermedio
  • Intel® C++ Compiler
  • Intel® C++ Composer XE
  • Intel® Composer XE
  • Intel® Parallel Composer
  • Dirección URL
  • Learning Lab
  • C-Compiler-Learn

  • Viewing all articles
    Browse latest Browse all 1616

    Trending Articles



    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>