• 19.1
  • 12/16/2019
  • Public Content
Contents

std
, Qstd

Tells the compiler to conform to a specific language standard.

Syntax

Linux:
-std=
val
macOS:
-std=
val
Windows:
/Qstd=
val
Arguments
val
Specifies the specific language standard to conform to. Possible values are:
c++17
Enables support for the 2017 ISO C++ standard features. For information about supported features for this setting, see the article https://software.intel.com/en-us/articles/c17-features-supported-by-intel-c-compiler.
c++14
Enables support for the 2014 ISO C++ standard features. The following features are available:
  • Tweaked working for contextual conversion
  • Binary literals
  • decltype(auto), return type deduction for normal functions
  • Initialized lambda captures: simple-capture, init-captur
  • Generic lambda expressions
  • Variable templates
  • Extended constexpr
  • NSDMIs for aggregates
  • Avoiding/fusing allocations
  • [deprecated] attributes
  • Sized deallocation
  • Single-Quotation-Mark as a digit separator
c++11
Conforms to the ISO/IEC 14882:2011 International Standard. Enables support for many C++11 (formerly known as C++0x) features. The following features are available:
  • Defining move special member functions (N3053)
  • Explicit virtual overrides (N2928,N3206,N3272)
  • Full implementation of constexpr (this feature is only available on Linux*
    and
    macOS*
    systems)
  • Full implementation of initializer lists
  • Full implementation of noexcept
  • Full implementation of non static data members (i.e. field initializers)
  • Raw string literals and UTF-8 literals
  • Delegating constructors
  • Ref-qualifiers on member functions
  • Additional type trait helpers (for example, __is_nothrow_assignable, __is_trivially_assignable, __is_trivially_constructible, __bases, __direct_bases, etc.)
For a list of C++11 features that were previously implemented by the Intel® C++ Compiler, see the article titled
C++11 Features Supported by Intel® C++ Compiler
, which is located in http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
c++0x
This value is equivalent to specifying value
c++11
.
gnu++0x
This value is equivalent to specifying value
c++0x
. This value is only available on Linux*
and
macOS*
systems.
gnu++98
Conforms to the 1998 ISO C++ standard plus GNU extensions. This value is only available on Linux*
and
macOS*
systems.
c11
Conforms to The ISO/IEC 9899:2011 International Standard.
c99
Conforms to The ISO/IEC 9899:1999 International Standard.
gnu99
Conforms to ISO C99 plus GNU* extensions. This value is only available on Linux*
and
macOS*
systems.
c89
Conforms to the ISO/IEC 9899:1990 International Standard. This value is only available on Linux*
and
macOS*
systems.
gnu89
Conforms to ISO C90 plus GNU* extensions. This value is only available on Linux*
and
macOS*
systems.
Default
-std=gnu89
(default for C)
Conforms to ISO C90 plus GNU extensions.
-std=gnu++98
(default for C++)
Conforms to the 1998 ISO C++ standard plus GNU* extensions.
/Qstd
OFF. Note that a subset of C++11 features is enabled by default for compatibility with a particular version of Microsoft Visual Studio* C++, so you only need to specify
/Qstd=c++0x
if you want additional C++11 functionality beyond what Microsoft provides.
Description
This option tells the compiler to conform to a specific language standard.
On Windows* systems, you can only specify values
c99
and
c++0x
.
Alternate Options
None

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804