No Diagnostic Required - cppreference.com (original) (raw)

From cppreference.com

< cpp‎ | language

C++

Compiler support
Freestanding and hosted
Language
Standard library
Standard library headers
Named requirements
Feature test macros (C++20)
Language support library
Concepts library (C++20)
Diagnostics library
Memory management library
Metaprogramming library (C++11)
General utilities library
Containers library
Iterators library
Ranges library (C++20)
Algorithms library
Strings library
Text processing library
Numerics library
Date and time library
Input/output library
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Technical specifications
Symbols index
External libraries

[edit]

C++ language

General topics
Preprocessor Comments Keywords Escape sequences
Flow control
Conditional execution statements
if switch
Iteration statements (loops)
for range-for (C++11) while do-while
Jump statements
continue - break goto - return
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications (until C++17*)
noexcept specifier (C++11)
Exceptions
throw-expression try block catch handler
Namespaces
Namespace declaration Namespace aliases
Types
Fundamental types Enumeration types Function types Class/struct types Union types
Specifiers
const/volatile decltype (C++11) auto (C++11) constexpr (C++11) consteval (C++20) constinit (C++20)
Storage duration specifiers
Initialization
Default-initialization Value-initialization Zero-initialization Copy-initialization Direct-initialization Aggregate initialization List-initialization (C++11) Constant initialization Reference initialization
Expressions
Value categories Order of evaluation Operators Operator precedence
Alternative representations
Literals
Boolean - Integer - Floating-point
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
typedef declaration
Type alias declaration (C++11)
Casts
Implicit conversions static_cast const_cast Explicit conversions dynamic_cast reinterpret_cast
Memory allocation
new expression delete expression
Classes
Class declaration Constructors this pointer Access specifiers friend specifier
Class-specific function properties
Virtual function override specifier (C++11) final specifier (C++11) explicit (C++11) static
Special member functions
Default constructor Copy constructor Move constructor (C++11) Copy assignment Move assignment (C++11) Destructor
Templates
Class template Function template Template specialization Parameter packs (C++11)
Miscellaneous
Inline assembly History of C++

[edit]

"No diagnostic required" indicates that some phraseology is ill-formed according to the language rules, but a compiler need not issue any diagnostic or error message. Usually, the reason is that trying to detect these situations would result in prohibitively long compile times.

If such a program is executed, the behavior is undefined.

[edit] See also

C documentation for No Diagnostic Required

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/language/ndr&oldid=135891"