Statements (53)
| Predicate | Object |
|---|---|
| gptkbp:instanceOf |
gptkb:Programming_Language_Feature
|
| gptkbp:documentedIn |
gptkb:The_C++_Programming_Language
C++ Standard Library Documentation |
| gptkbp:enables |
Compile-time Computation
Generic Programming Policy-based Design Type-safe Code Reuse Zero-overhead Abstraction |
| gptkbp:hasFeature |
CRTP
SFINAE Default Template Arguments Explicit Specialization Partial Specialization Template Aliases Template Argument Deduction Template Instantiation Template Template Parameters |
| gptkbp:hasSyntax |
template <class T> void func(T arg) {}
template <typename T> class MyClass {}; |
| gptkbp:improves |
gptkb:C++11
gptkb:C++14 gptkb:C++17 gptkb:C++20 |
| gptkbp:introducedIn |
gptkb:C++98
|
| gptkbp:limitation |
Code Bloat
Complex Error Messages Difficult Debugging Limited Reflection Long Compile Times |
| gptkbp:partOf |
gptkb:C++
|
| gptkbp:relatedTo |
gptkb:C++_STL
gptkb:C++_Concepts C++ Metaprogramming C++ Type Traits |
| gptkbp:standardizedBy |
gptkb:ISO/IEC_14882
|
| gptkbp:supports |
Non-type Parameters
Template Metaprogramming Template Specialization Type Parameterization Variadic Templates |
| gptkbp:usedBy |
gptkb:std::vector
std::function std::tuple std::unique_ptr std::map |
| gptkbp:usedFor |
gptkb:Algorithms
Containers Policy-based Design Smart Pointers Type Traits |
| gptkbp:bfsParent |
gptkb:Java_Generics
|
| gptkbp:bfsLayer |
8
|
| https://www.w3.org/2000/01/rdf-schema#label |
C++ Templates
|