René's URL Explorer Experiment


Title: Class template argument deduction (CTAD) (since C++17) - cppreference.com

Generator: MediaWiki 1.43.8

direct link

Domain: www.cppreference.com

format-detectiontelephone=no

Links:

cppreference.comhttps://www.cppreference.com/
Create accounthttps://www.cppreference.com/index.php?title=Special:CreateAccount&returnto=cpp%2Flanguage%2Fclass+template+argument+deduction
Log inhttps://www.cppreference.com/index.php?title=Special:UserLogin&returnto=cpp%2Flanguage%2Fclass+template+argument+deduction
Pagehttps://www.cppreference.com/cpp/language/class_template_argument_deduction
Discussionhttps://www.cppreference.com/Talk:cpp/language/class_template_argument_deduction
https://www.cppreference.com/cpp/language/class_template_argument_deduction
Readhttps://www.cppreference.com/cpp/language/class_template_argument_deduction
View sourcehttps://www.cppreference.com/index.php?title=cpp/language/class_template_argument_deduction&action=edit
View historyhttps://www.cppreference.com/index.php?title=cpp/language/class_template_argument_deduction&action=history
https://www.cppreference.com/cpp/language/class_template_argument_deduction
cpphttps://www.cppreference.com/cpp
languagehttps://www.cppreference.com/cpp/language
C++https://www.cppreference.com/cpp
Compiler supporthttps://www.cppreference.com/cpp/compiler_support
Freestanding and hostedhttps://www.cppreference.com/cpp/freestanding
Languagehttps://www.cppreference.com/cpp/language
Standard libraryhttps://www.cppreference.com/cpp/standard_library
Standard library headershttps://www.cppreference.com/cpp/header
Named requirementshttps://www.cppreference.com/cpp/named_req
Feature test macroshttps://www.cppreference.com/cpp/feature_test
Language support libraryhttps://www.cppreference.com/cpp/utility#Language_support
Concepts libraryhttps://www.cppreference.com/cpp/concepts
Diagnostics libraryhttps://www.cppreference.com/cpp/error
Memory management libraryhttps://www.cppreference.com/cpp/memory
Metaprogramming libraryhttps://www.cppreference.com/cpp/meta
General utilities libraryhttps://www.cppreference.com/cpp/utility
Containers libraryhttps://www.cppreference.com/cpp/container
Iterators libraryhttps://www.cppreference.com/cpp/iterator
Ranges libraryhttps://www.cppreference.com/cpp/ranges
Algorithms libraryhttps://www.cppreference.com/cpp/algorithm
Strings libraryhttps://www.cppreference.com/cpp/string
Text processing libraryhttps://www.cppreference.com/cpp/text
Numerics libraryhttps://www.cppreference.com/cpp/numeric
Date and time libraryhttps://www.cppreference.com/cpp/chrono
Input/output libraryhttps://www.cppreference.com/cpp/io
Filesystem libraryhttps://www.cppreference.com/cpp/filesystem
Concurrency support libraryhttps://www.cppreference.com/cpp/thread
Execution control libraryhttps://www.cppreference.com/cpp/execution
Technical specificationshttps://www.cppreference.com/cpp/experimental
Symbols indexhttps://www.cppreference.com/cpp/symbol_index
External librarieshttps://www.cppreference.com/cpp/links/libs
[edit]https://cppreference.com/index.php?title=Template:cpp/navbar_content&action=edit
C++ languagehttps://www.cppreference.com/cpp/language
Preprocessorhttps://www.cppreference.com/cpp/preprocessor
Commentshttps://www.cppreference.com/cpp/comment
Keywordshttps://www.cppreference.com/cpp/keyword
Escape sequenceshttps://www.cppreference.com/cpp/language/escape
Flow controlhttps://www.cppreference.com/cpp/language/statements
ifhttps://www.cppreference.com/cpp/language/if
switchhttps://www.cppreference.com/cpp/language/switch
forhttps://www.cppreference.com/cpp/language/for
range-forhttps://www.cppreference.com/cpp/language/range-for
whilehttps://www.cppreference.com/cpp/language/while
do-whilehttps://www.cppreference.com/cpp/language/do
continuehttps://www.cppreference.com/cpp/language/continue
breakhttps://www.cppreference.com/cpp/language/break
gotohttps://www.cppreference.com/cpp/language/goto
returnhttps://www.cppreference.com/cpp/language/return
Functionshttps://www.cppreference.com/cpp/language/functions
Function declarationhttps://www.cppreference.com/cpp/language/function
Lambda function expressionhttps://www.cppreference.com/cpp/language/lambda
inline specifierhttps://www.cppreference.com/cpp/language/inline
Dynamic exception specificationshttps://www.cppreference.com/cpp/language/except_spec
noexcept specifierhttps://www.cppreference.com/cpp/language/noexcept_spec
throw-expressionhttps://www.cppreference.com/cpp/language/throw
try blockhttps://www.cppreference.com/cpp/language/try
catch handlerhttps://www.cppreference.com/cpp/language/catch
Namespace declarationhttps://www.cppreference.com/cpp/language/namespace
Namespace aliaseshttps://www.cppreference.com/cpp/language/namespace_alias
Fundamental typeshttps://www.cppreference.com/cpp/language/types
Enumeration typeshttps://www.cppreference.com/cpp/language/enum
Function typeshttps://www.cppreference.com/cpp/language/function
Class/struct typeshttps://www.cppreference.com/cpp/language/class
Union typeshttps://www.cppreference.com/cpp/language/union
const/volatilehttps://www.cppreference.com/cpp/language/cv
decltypehttps://www.cppreference.com/cpp/language/decltype
autohttps://www.cppreference.com/cpp/language/auto
constexprhttps://www.cppreference.com/cpp/language/constexpr
constevalhttps://www.cppreference.com/cpp/language/consteval
constinithttps://www.cppreference.com/cpp/language/constinit
Storage duration specifiershttps://www.cppreference.com/cpp/language/storage_duration
Initializationhttps://www.cppreference.com/cpp/language/initialization
Default-initializationhttps://www.cppreference.com/cpp/language/default_initialization
Value-initializationhttps://www.cppreference.com/cpp/language/value_initialization
Zero-initializationhttps://www.cppreference.com/cpp/language/zero_initialization
Copy-initializationhttps://www.cppreference.com/cpp/language/copy_initialization
Direct-initializationhttps://www.cppreference.com/cpp/language/direct_initialization
Aggregate initializationhttps://www.cppreference.com/cpp/language/aggregate_initialization
List-initializationhttps://www.cppreference.com/cpp/language/list_initialization
Constant initializationhttps://www.cppreference.com/cpp/language/constant_initialization
Reference initializationhttps://www.cppreference.com/cpp/language/reference_initialization
Expressionshttps://www.cppreference.com/cpp/language/expressions
Value categorieshttps://www.cppreference.com/cpp/language/value_category
Order of evaluationhttps://www.cppreference.com/cpp/language/eval_order
Operatorshttps://www.cppreference.com/cpp/language/operators
Operator precedencehttps://www.cppreference.com/cpp/language/operator_precedence
Alternative representationshttps://www.cppreference.com/cpp/language/operator_alternative
Literalshttps://www.cppreference.com/cpp/language/expressions#Literals
Booleanhttps://www.cppreference.com/cpp/language/bool_literal
Integerhttps://www.cppreference.com/cpp/language/integer_literal
Floating-pointhttps://www.cppreference.com/cpp/language/floating_literal
Characterhttps://www.cppreference.com/cpp/language/character_literal
Stringhttps://www.cppreference.com/cpp/language/string_literal
nullptrhttps://www.cppreference.com/cpp/language/nullptr
User-definedhttps://www.cppreference.com/cpp/language/user_literal
Attributeshttps://www.cppreference.com/cpp/language/attributes
typedef declarationhttps://www.cppreference.com/cpp/language/typedef
Type alias declarationhttps://www.cppreference.com/cpp/language/type_alias
Implicit conversionshttps://www.cppreference.com/cpp/language/implicit_conversion
static_casthttps://www.cppreference.com/cpp/language/static_cast
const_casthttps://www.cppreference.com/cpp/language/const_cast
Explicit conversionshttps://www.cppreference.com/cpp/language/explicit_cast
dynamic_casthttps://www.cppreference.com/cpp/language/dynamic_cast
reinterpret_casthttps://www.cppreference.com/cpp/language/reinterpret_cast
new expressionhttps://www.cppreference.com/cpp/language/new
delete expressionhttps://www.cppreference.com/cpp/language/delete
Classeshttps://www.cppreference.com/cpp/language/classes
Class declarationhttps://www.cppreference.com/cpp/language/class
Constructorshttps://www.cppreference.com/cpp/language/constructor
this pointerhttps://www.cppreference.com/cpp/language/this
Access specifiershttps://www.cppreference.com/cpp/language/access
friend specifierhttps://www.cppreference.com/cpp/language/friend
Virtual functionhttps://www.cppreference.com/cpp/language/virtual
override specifierhttps://www.cppreference.com/cpp/language/override
final specifierhttps://www.cppreference.com/cpp/language/final
explicithttps://www.cppreference.com/cpp/language/explicit
statichttps://www.cppreference.com/cpp/language/static
Default constructorhttps://www.cppreference.com/cpp/language/default_constructor
Copy constructorhttps://www.cppreference.com/cpp/language/copy_constructor
Move constructorhttps://www.cppreference.com/cpp/language/move_constructor
Copy assignmenthttps://www.cppreference.com/cpp/language/as_operator
Move assignmenthttps://www.cppreference.com/cpp/language/move_operator
Destructorhttps://www.cppreference.com/cpp/language/destructor
Templateshttps://www.cppreference.com/cpp/language/templates
Class templatehttps://www.cppreference.com/cpp/language/class_template
Function templatehttps://www.cppreference.com/cpp/language/function_template
Template specializationhttps://www.cppreference.com/cpp/language/template_specialization
Parameter packshttps://www.cppreference.com/cpp/language/pack
Inline assemblyhttps://www.cppreference.com/cpp/language/asm
History of C++https://www.cppreference.com/cpp/language/history
[edit]https://cppreference.com/index.php?title=Template:cpp/language/navbar_content&action=edit
Declarationshttps://www.cppreference.com/cpp/language/declarations
Declaration syntaxhttps://www.cppreference.com/cpp/language/declarations
decl-specifier-seqhttps://www.cppreference.com/cpp/language/declarations#Specifiers
Declaratorhttps://www.cppreference.com/cpp/language/declarations#Declarators
Conflicting declarationshttps://www.cppreference.com/cpp/language/conflicting_declarations
typedefhttps://www.cppreference.com/cpp/language/typedef
inlinehttps://www.cppreference.com/cpp/language/inline
virtual function specifierhttps://www.cppreference.com/cpp/language/virtual
explicit function specifierhttps://www.cppreference.com/cpp/language/explicit
friendhttps://www.cppreference.com/cpp/language/friend
constexprhttps://www.cppreference.com/cpp/language/constexpr
constevalhttps://www.cppreference.com/cpp/language/consteval
constinithttps://www.cppreference.com/cpp/language/constinit
Storage class specifiershttps://www.cppreference.com/cpp/language/storage_duration
Translation-unit-localhttps://www.cppreference.com/cpp/language/tu_local
class/structhttps://www.cppreference.com/cpp/language/class
unionhttps://www.cppreference.com/cpp/language/union
enumhttps://www.cppreference.com/cpp/language/enum
decltypehttps://www.cppreference.com/cpp/language/decltype
autohttps://www.cppreference.com/cpp/language/auto
alignashttps://www.cppreference.com/cpp/language/alignas
constvolatilehttps://www.cppreference.com/cpp/language/cv
Pack indexing specifierhttps://www.cppreference.com/cpp/language/pack_indexing#Pack_indexing_specifier
Elaborated type specifierhttps://www.cppreference.com/cpp/language/elaborated_type_specifier
Attributeshttps://www.cppreference.com/cpp/language/attributes
Referencehttps://www.cppreference.com/cpp/language/reference
Pointerhttps://www.cppreference.com/cpp/language/pointer
Arrayhttps://www.cppreference.com/cpp/language/array
Simple-declarationhttps://www.cppreference.com/cpp/language/declarations
Structured binding declarationhttps://www.cppreference.com/cpp/language/structured_binding
Alias declarationhttps://www.cppreference.com/cpp/language/type_alias
Namespace alias definitionhttps://www.cppreference.com/cpp/language/namespace_alias
using declarationhttps://www.cppreference.com/cpp/language/using_declaration
using directivehttps://www.cppreference.com/cpp/language/namespace#Using-directives
static_assert declarationhttps://www.cppreference.com/cpp/language/static_assert
asm declarationhttps://www.cppreference.com/cpp/language/asm
Opaque enum declarationhttps://www.cppreference.com/cpp/language/enum
Namespace definitionhttps://www.cppreference.com/cpp/language/namespace
Function declarationhttps://www.cppreference.com/cpp/language/function
Class template declarationhttps://www.cppreference.com/cpp/language/class_template
Function template declarationhttps://www.cppreference.com/cpp/language/function_template
Explicit template instantiationhttps://www.cppreference.com/cpp/language/class_template#Explicit_instantiation
Explicit template specializationhttps://www.cppreference.com/cpp/language/template_specialization
Linkage specificationhttps://www.cppreference.com/cpp/language/language_linkage
Attribute declarationhttps://www.cppreference.com/cpp/language/declarations
Empty declarationhttps://www.cppreference.com/cpp/language/declarations
[edit]https://cppreference.com/index.php?title=Template:cpp/language/declarations/navbar_content&action=edit
Expressionshttps://www.cppreference.com/cpp/language/expressions
Value categorieshttps://www.cppreference.com/cpp/language/value_category
Order of evaluationhttps://www.cppreference.com/cpp/language/eval_order
Constant expressionshttps://www.cppreference.com/cpp/language/constant_expression
Primary expressionshttps://www.cppreference.com/cpp/language/expressions#Primary_expressions
Lambda expressionshttps://www.cppreference.com/cpp/language/lambda
Requires expressionshttps://www.cppreference.com/cpp/language/requires
Pack indexing expressionhttps://www.cppreference.com/cpp/language/pack_indexing#Pack_indexing_expression
Potentially-evaluated expressionshttps://www.cppreference.com/cpp/language/expressions#Potentially-evaluated_expressions
Integer literalshttps://www.cppreference.com/cpp/language/integer_literal
Floating-point literalshttps://www.cppreference.com/cpp/language/floating_literal
Boolean literalshttps://www.cppreference.com/cpp/language/bool_literal
Character literalshttps://www.cppreference.com/cpp/language/character_literal
Escape sequenceshttps://www.cppreference.com/cpp/language/escape
String literalshttps://www.cppreference.com/cpp/language/string_literal
Null pointer literalhttps://www.cppreference.com/cpp/language/nullptr
User-defined literalhttps://www.cppreference.com/cpp/language/user_literal
Assignment operatorshttps://www.cppreference.com/cpp/language/operator_assignment
Increment and decrementhttps://www.cppreference.com/cpp/language/operator_incdec
Arithmetic operatorshttps://www.cppreference.com/cpp/language/operator_arithmetic
Logical operatorshttps://www.cppreference.com/cpp/language/operator_logical
Comparison operatorshttps://www.cppreference.com/cpp/language/operator_comparison
Member access operatorshttps://www.cppreference.com/cpp/language/operator_member_access
Reflection operatorhttps://www.cppreference.com/cpp/language/operator_reflection
Other operatorshttps://www.cppreference.com/cpp/language/operator_other
new-expressionhttps://www.cppreference.com/cpp/language/new
delete-expressionhttps://www.cppreference.com/cpp/language/delete
throw-expressionhttps://www.cppreference.com/cpp/language/throw
alignofhttps://www.cppreference.com/cpp/language/alignof
sizeofhttps://www.cppreference.com/cpp/language/sizeof
sizeof...https://www.cppreference.com/cpp/language/sizeof...
typeidhttps://www.cppreference.com/cpp/language/typeid
noexcepthttps://www.cppreference.com/cpp/language/noexcept
Fold expressionshttps://www.cppreference.com/cpp/language/fold
Alternative representations of operatorshttps://www.cppreference.com/cpp/language/operator_alternative
Precedence and associativityhttps://www.cppreference.com/cpp/language/operator_precedence
Operator overloadinghttps://www.cppreference.com/cpp/language/operators
Default comparisonshttps://www.cppreference.com/cpp/language/default_comparisons
Implicit conversionshttps://www.cppreference.com/cpp/language/implicit_conversion
Explicit conversionshttps://www.cppreference.com/cpp/language/explicit_cast
Usual arithmetic conversionshttps://www.cppreference.com/cpp/language/usual_arithmetic_conversions
User-defined conversionhttps://www.cppreference.com/cpp/language/cast_operator
const_casthttps://www.cppreference.com/cpp/language/const_cast
static_casthttps://www.cppreference.com/cpp/language/static_cast
dynamic_casthttps://www.cppreference.com/cpp/language/dynamic_cast
reinterpret_casthttps://www.cppreference.com/cpp/language/reinterpret_cast
[edit]https://cppreference.com/index.php?title=Template:cpp/language/expressions/navbar_content&action=edit
Templateshttps://www.cppreference.com/cpp/language/templates
Parameters and argumentshttps://www.cppreference.com/cpp/language/template_parameters
Class templateshttps://www.cppreference.com/cpp/language/class_template
Function templateshttps://www.cppreference.com/cpp/language/function_template
Class member templateshttps://www.cppreference.com/cpp/language/member_template
Variable templateshttps://www.cppreference.com/cpp/language/variable_template
Template argument deductionhttps://www.cppreference.com/cpp/language/template_argument_deduction
Explicit (full) specializationhttps://www.cppreference.com/cpp/language/template_specialization
Partial specializationhttps://www.cppreference.com/cpp/language/partial_specialization
Dependent nameshttps://www.cppreference.com/cpp/language/dependent_name
Packshttps://www.cppreference.com/cpp/language/pack
sizeof...https://www.cppreference.com/cpp/language/sizeof...
Fold expressionshttps://www.cppreference.com/cpp/language/fold
Pack indexinghttps://www.cppreference.com/cpp/language/pack_indexing
SFINAEhttps://www.cppreference.com/cpp/language/sfinae
Constraints and conceptshttps://www.cppreference.com/cpp/language/constraints
Requires expressionhttps://www.cppreference.com/cpp/language/requires
[edit]https://cppreference.com/index.php?title=Template:cpp/language/templates/navbar_content&action=edit
class templatehttps://www.cppreference.com/cpp/language/class_template
declarationhttps://www.cppreference.com/cpp/language/declarations
cv-qualifiedhttps://www.cppreference.com/cpp/language/cv
new-expressionshttps://www.cppreference.com/cpp/language/new
function-style casthttps://www.cppreference.com/cpp/language/explicit_cast
non-type template parameterhttps://www.cppreference.com/cpp/language/template_parameters#Non-type_template_parameter
1 Deduction for class templateshttps://www.cppreference.com/cpp/language/class_template_argument_deduction#Deduction_for_class_templates
1.1 Implicitly-generated deduction guideshttps://www.cppreference.com/cpp/language/class_template_argument_deduction#Implicitly-generated_deduction_guides
1.2 User-defined deduction guideshttps://www.cppreference.com/cpp/language/class_template_argument_deduction#User-defined_deduction_guides
2 Deduction for alias templateshttps://www.cppreference.com/cpp/language/class_template_argument_deduction#Deduction_for_alias_templates
3 Noteshttps://www.cppreference.com/cpp/language/class_template_argument_deduction#Notes
4 Defect reportshttps://www.cppreference.com/cpp/language/class_template_argument_deduction#Defect_reports
associated constraintshttps://www.cppreference.com/cpp/language/constraints
parameter listhttps://www.cppreference.com/cpp/language/function#Parameter_list
user-defined deduction guidehttps://www.cppreference.com/cpp/language/class_template_argument_deduction#User-defined_deduction_guides
aggregate typehttps://www.cppreference.com/cpp/language/aggregate_initialization
designated initializerhttps://www.cppreference.com/cpp/language/aggregate_initialization#Designated_initializer
aggregate elementhttps://www.cppreference.com/cpp/language/aggregate_initialization
brace elisionhttps://www.cppreference.com/cpp/language/aggregate_initialization#Brace_elision
dependenthttps://www.cppreference.com/cpp/language/dependent_name#Dependent_types
value-dependenthttps://www.cppreference.com/cpp/language/dependent_name#Value-dependent_expressions
string literalhttps://www.cppreference.com/cpp/language/string_literal
pack expansionhttps://www.cppreference.com/cpp/language/parameter_pack
string literalhttps://www.cppreference.com/cpp/language/string_literal
Template argument deductionhttps://www.cppreference.com/cpp/language/template_argument_deduction
overload resolutionhttps://www.cppreference.com/cpp/language/overload_resolution
list-initializationhttps://www.cppreference.com/cpp/language/overload_resolution#List-initialization
template parametershttps://www.cppreference.com/cpp/language/template_parameters
explicit specifierhttps://www.cppreference.com/cpp/language/explicit
parameter listhttps://www.cppreference.com/cpp/language/function#Parameter_list
simple template identifierhttps://www.cppreference.com/cpp/language/templates#Template_identifiers
requires clausehttps://www.cppreference.com/cpp/language/constraints#Requires_clauses
abbreviated function templatehttps://www.cppreference.com/cpp/language/function_template#Abbreviated_function_template
overload resolution against other deduction guideshttps://www.cppreference.com/cpp/language/overload_resolution#Best_viable_function
explicithttps://www.cppreference.com/cpp/language/explicit
template argument deductionhttps://www.cppreference.com/cpp/language/template_argument_deduction
constraintshttps://www.cppreference.com/cpp/language/constraints
overload resolutionhttps://www.cppreference.com/cpp/language/overload_resolution#Best_viable_function
forwarding referencehttps://www.cppreference.com/cpp/language/template_argument_deduction
__cpp_deduction_guideshttps://www.cppreference.com/cpp/feature_test#cpp_deduction_guides
201703Lhttps://www.cppreference.com/cpp/compiler_support/17#cpp_deduction_guides_201703L
201907Lhttps://www.cppreference.com/cpp/compiler_support/20#cpp_deduction_guides_201907L
CWG 2376https://cplusplus.github.io/CWG/issues/2376.html
CWG 2628https://cplusplus.github.io/CWG/issues/2628.html
CWG 2697https://cplusplus.github.io/CWG/issues/2697.html
CWG 2707https://cplusplus.github.io/CWG/issues/2707.html
CWG 2714https://cplusplus.github.io/CWG/issues/2714.html
CWG 2913https://cplusplus.github.io/CWG/issues/2913.html
CWG issue 2707https://cplusplus.github.io/CWG/issues/2707.html
P0702R1https://wg21.link/P0702R1
Categoryhttps://www.cppreference.com/Special:Categories
Pages using deprecated source tagshttps://www.cppreference.com/index.php?title=Category:Pages_using_deprecated_source_tags&action=edit&redlink=1
Pages with unreviewed CWG DR markerhttps://www.cppreference.com/Category:Pages_with_unreviewed_CWG_DR_marker
Support ushttps://www.cppreference.com/support
Recent changeshttps://www.cppreference.com/Special:RecentChanges
FAQhttps://www.cppreference.com/Cppreference:FAQ
Offline versionhttps://www.cppreference.com/Cppreference:Archives
https://www.cppreference.com/cpp/language/class_template_argument_deduction
What links herehttps://www.cppreference.com/Special:WhatLinksHere/cpp/language/class_template_argument_deduction
Related changeshttps://www.cppreference.com/Special:RecentChangesLinked/cpp/language/class_template_argument_deduction
Upload filehttp://upload.cppreference.com/w/Special:Upload
Special pageshttps://www.cppreference.com/Special:SpecialPages
Printable versionjavascript:print();
Permanent linkhttps://www.cppreference.com/index.php?title=cpp/language/class_template_argument_deduction&oldid=181404
Page informationhttps://www.cppreference.com/index.php?title=cpp/language/class_template_argument_deduction&action=info
Deutschhttps://de.cppreference.com/cpp/language/class_template_argument_deduction
Españolhttp://es.cppreference.com/cpp/language/class_template_argument_deduction
日本語http://ja.cppreference.com/cpp/language/class_template_argument_deduction
Русскийhttp://ru.cppreference.com/cpp/language/class_template_argument_deduction
中文http://zh.cppreference.com/cpp/language/class_template_argument_deduction

Viewport: width=1120

Robots: max-image-preview:standard


URLs of crawlers that visited me.