Difference between revisions of "cpp/language/acronyms"
From cppreference.com
(NSDMI) |
(Undo revision 177421 by Ybab321; disagree: SCARY is a technical term appearing in proposals, library code, books etc, and when attributed, people link to n2911 which claims it's an acronym. Maybe add linebreaks?) |
||
(40 intermediate revisions by 13 users not shown) | |||
Line 2: | Line 2: | ||
{{cpp/language/navbar}} | {{cpp/language/navbar}} | ||
− | {| class="wikitable" | + | {|class="wikitable" |
− | ! | + | !Acronym |
− | !Full | + | !Full name |
!See also | !See also | ||
|- | |- | ||
|AAA | |AAA | ||
− | |Almost Always Auto | + | |Almost Always [[cpp/keyword/auto|Auto]] |
|[https://herbsutter.com/2013/06/13/gotw-94-special-edition-aaa-style-almost-always-auto GOTW #94] | |[https://herbsutter.com/2013/06/13/gotw-94-special-edition-aaa-style-almost-always-auto GOTW #94] | ||
+ | |- | ||
+ | |ABC | ||
+ | |{{rlp|abstract class|Abstract Base Class}} | ||
+ | | | ||
+ | |- | ||
+ | |ABI | ||
+ | |{{enwiki|Application Binary Interface}} | ||
+ | |[https://itanium-cxx-abi.github.io/cxx-abi/abi.html Itanium C++ ABI] | ||
|- | |- | ||
|ADL | |ADL | ||
− | |{{rlp|adl | Argument-Dependent Lookup}} | + | |{{rlp|adl|Argument-Dependent Lookup}} |
| | | | ||
|- | |- | ||
− | | | + | |ADT |
− | |{{ | + | |{{enwiki|Abstract Data Type}} |
| | | | ||
+ | |- | ||
+ | |API | ||
+ | |{{enwiki|Application Programming Interface}} | ||
+ | | | ||
+ | |- | ||
+ | |BMI | ||
+ | |Binary Module Interface | ||
+ | |{{rlp|modules|Modules}} | ||
+ | |- | ||
+ | |CAS | ||
+ | |{{enwiki|Compare-And-Swap}}; [https://stackoverflow.com/questions/3279543/what-is-the-copy-and-swap-idiom Copy And Swap] | ||
+ | |{{ltt|cpp/atomic/atomic/compare_exchange}} | ||
+ | |- | ||
+ | |CMI | ||
+ | |Compiled Module Interfaces | ||
+ | |{{rlp|modules|Modules}} | ||
+ | |- | ||
+ | |COW | ||
+ | |{{enwiki|Copy-On-Write}} | ||
+ | | | ||
+ | |- | ||
+ | |CPO | ||
+ | |[[cpp/ranges/cpo|Customization Point Object]] | ||
+ | |[https://eel.is/c++draft/customization.point.object#1 [customization.point.object]], {{named req|RangeAdaptorObject}}, {{named req|RangeAdaptorClosureObject}} | ||
|- | |- | ||
|CRTP | |CRTP | ||
− | |{{rlp|crtp | Curiously Recurring Template Pattern}} | + | |{{rlp|crtp|Curiously Recurring Template Pattern}} |
− | |{{lc|std::enable_shared_from_this}} | + | |{{lc|std::enable_shared_from_this}}, {{lc|ranges::view_interface|std::ranges::view_interface}} |
|- | |- | ||
− | |EBO | + | |CTAD |
− | |{{rlp|ebo | Empty Base Optimization}} | + | |{{rlp|class template argument deduction|Class Template Argument Deduction}} |
− | |{{lc|std::allocator}}, {{lc|std::default_delete}} | + | | |
+ | |- | ||
+ | |CTRE | ||
+ | |'''C'''ompile-'''T'''ime '''R'''egular '''E'''xpressions | ||
+ | |[https://github.com/hanickadot/compile-time-regular-expressions A CTRE lib] | ||
+ | |- | ||
+ | |CWG | ||
+ | |The '''C'''ore '''W'''orking '''G'''roup | ||
+ | |[https://isocpp.org/std/the-committee WG21] | ||
+ | |-id="DR" | ||
+ | |DR | ||
+ | |Defect Report | ||
+ | | | ||
+ | |- | ||
+ | |EBO<br>EBCO | ||
+ | |{{rlp|ebo|Empty Base (Class) Optimization}} | ||
+ | |{{attr|no_unique_address}}, {{lc|std::allocator}}, {{lc|std::default_delete}} | ||
+ | |- | ||
+ | |EDG | ||
+ | |[https://www.edg.com/company Edison Design Group] | ||
+ | | | ||
+ | |- | ||
+ | |EH | ||
+ | |Exception Handling | ||
+ | | | ||
+ | |- | ||
+ | |ELF | ||
+ | |{{enwiki|Executable and linkable Format|'''E'''xecutable and '''L'''inkable '''F'''ormat}} | ||
+ | | | ||
+ | |- | ||
+ | |EWG | ||
+ | |The '''E'''volution '''W'''orking '''G'''roup | ||
+ | |[https://isocpp.org/std/the-committee WG21] | ||
+ | |- | ||
+ | |EWGI | ||
+ | |The '''E'''volution '''W'''orking '''G'''roup '''I'''ncubator | ||
+ | |[https://isocpp.org/std/the-committee WG21] | ||
+ | |- | ||
+ | |FAM | ||
+ | |{{enwiki|Flexible array member|Flexible Array Member}} | ||
+ | | | ||
+ | |- | ||
+ | |GCC | ||
+ | |{{enwiki|GNU|'''G'''NU}} '''C'''ompiler '''C'''ollection | ||
+ | | | ||
+ | |- | ||
+ | |GMF | ||
+ | |Global Module Fragment | ||
+ | |{{rlp|modules|Modules}} | ||
+ | |- | ||
+ | |HALO | ||
+ | |'''H'''eap '''A'''llocation e'''L'''ision '''O'''ptimization | ||
+ | |{{rlp|coroutines|Coroutines}}, {{stddoc|p0981}} | ||
|- | |- | ||
|ICE | |ICE | ||
− | |Internal Compiler Error | + | |[[enwiki:Compilation error#Internal Compiler Errors|Internal Compiler Error]]; Integer Constant Expression |
+ | | | ||
+ | |- | ||
+ | |IFNDR | ||
+ | |{{rlp|ndr|Ill-Formed, No Diagnostic Required}} | ||
+ | | | ||
+ | |- | ||
+ | |IIILE | ||
+ | |Immediately Invoked Initializing {{rlp|lambda|Lambda Expression}} | ||
+ | | | ||
+ | |- | ||
+ | |IPO | ||
+ | |{{enwiki|Interprocedural optimization|Inter-Procedural Optimization}} | ||
+ | | | ||
+ | |- | ||
+ | |IWYU | ||
+ | |'''I'''nclude '''W'''hat '''Y'''ou '''U'''se | ||
+ | |[https://include-what-you-use.org libclang-based tool] | ||
+ | |- | ||
+ | |LEWG | ||
+ | |The '''L'''ibrary '''E'''volution '''W'''orking '''G'''roup | ||
+ | |[https://isocpp.org/std/the-committee WG21] | ||
+ | |- | ||
+ | |LEWGI | ||
+ | |The '''L'''ibrary '''E'''volution '''W'''orking '''G'''roup '''I'''ncubator | ||
+ | |[https://isocpp.org/std/the-committee WG21] | ||
+ | |- | ||
+ | |LTO | ||
+ | |[[enwiki:Interprocedural optimization#WPO and LTO|Link-Time Optimization]] | ||
+ | | | ||
+ | |- | ||
+ | |LWG | ||
+ | |The '''L'''ibrary '''W'''orking '''G'''roup | ||
+ | |[https://isocpp.org/std/the-committee WG21] | ||
+ | |- | ||
+ | |MDT | ||
+ | |Most Derived Type | ||
+ | | | ||
+ | |-id="MPSC" | ||
+ | |MPSC | ||
+ | |Multi-Producer Single-Consumer (e.g., task queue) | ||
+ | |{{lc|std::executor}} | ||
+ | |- | ||
+ | |MSVC | ||
+ | |'''M'''icro'''S'''oft '''V'''isual '''C'''++ | ||
+ | | | ||
+ | |- | ||
+ | |NAD | ||
+ | |Not A Defect | ||
+ | |See also {{ls|#DR}} | ||
+ | |- | ||
+ | |NDR | ||
+ | |{{rlp|ndr|No Diagnostic Required}} | ||
| | | | ||
|- | |- | ||
− | |NRVO | + | |NRVO |
− | |{{rlp| | + | |{{rlp|copy elision|Named Return Value Optimization}} |
| | | | ||
|- | |- | ||
|NSDMI | |NSDMI | ||
− | |{{ | + | |{{rlp|data members|Non-Static Data Member Initialization}} |
| | | | ||
|- | |- | ||
− | | | + | |NTBS |
− | | | + | |[[cpp/string/byte|Null-Terminated Byte Strings]] |
| | | | ||
|- | |- | ||
− | | | + | |NTTP |
− | |{{rlp| | + | |{{rlp|template parameters|Non-Type Template Parameter}} |
+ | | | ||
+ | |- | ||
+ | |NUA | ||
+ | |No Unique Address | ||
+ | |{{attribute|no_unique_address}} | ||
+ | |- | ||
+ | |NVI | ||
+ | |'''N'''on-'''V'''irtual '''I'''nterface | ||
| | | | ||
|- | |- | ||
|ODR | |ODR | ||
− | |{{rlp|definition | One Definition Rule}} | + | |{{rlp|definition|One Definition Rule}} |
| | | | ||
|- | |- | ||
+ | |OOP | ||
+ | |{{enwiki|Object-Oriented Programming}} | ||
+ | | | ||
+ | |- | ||
+ | |PCH | ||
+ | |'''P'''re-'''C'''ompiled '''H'''eader | ||
+ | |[https://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html gcc doc on PCH] | ||
+ | |-id="PDO" | ||
+ | |PDO | ||
+ | |Profile-Driven Optimization | ||
+ | |See also {{ls|#PGO}} | ||
+ | |-id="PGO" | ||
+ | |PGO | ||
+ | |{{enwiki|Profile-guided Optimization|'''P'''rofile-'''G'''uided '''O'''ptimization}} | ||
+ | |See also {{ls|#PDO}} | ||
+ | |- | ||
+ | |PIMPL | ||
+ | |{{rlp|pimpl|Pointer to IMPLementation}} | ||
+ | | | ||
+ | |- | ||
+ | |PMF | ||
+ | |Private Module Fragment | ||
+ | |{{rlp|modules|Modules}} | ||
+ | |- | ||
+ | |PMR | ||
+ | |'''P'''olymorphic '''M'''emory '''R'''esources | ||
+ | |{{header|memory_resource}} | ||
+ | |- | ||
+ | |POCCA | ||
+ | |[[cpp/memory/allocator_traits|Propagate on Container Copy Assignment]] | ||
+ | | | ||
+ | |- | ||
+ | |POCMA | ||
+ | |[[cpp/memory/allocator_traits|Propagate on Container Move Assignment]] | ||
+ | | | ||
+ | |- | ||
+ | |POCS | ||
+ | |[[cpp/memory/allocator_traits|Propagate on Container Swap]] | ||
+ | | | ||
+ | |- | ||
+ | |POD | ||
+ | |[[cpp/named req/PODType|Plain Old Data]] ({{named req|PODType}}) | ||
+ | |{{named req|ScalarType}}, {{named req|TrivialType}}, {{named req|StandardLayoutType}} | ||
+ | |- | ||
+ | |QoI | ||
+ | |'''Q'''uality '''o'''f '''I'''mplementation | ||
+ | | | ||
+ | |-id="RAII" | ||
|RAII | |RAII | ||
− | |{{rlp|raii | Resource Acquisition Is Initialization}} | + | |{{rlp|raii|Resource Acquisition Is Initialization}} |
| | | | ||
+ | |- | ||
+ | |RACO | ||
+ | |[[cpp/ranges#Range adaptor closure objects|Range Adaptor Closure Object]] | ||
+ | |{{named req|RangeAdaptorClosureObject}} | ||
+ | |- | ||
+ | |RAO | ||
+ | |[[cpp/ranges#Range adaptor objects|Range Adaptor Object]] | ||
+ | |{{named req|RangeAdaptorObject}} | ||
+ | |- | ||
+ | |RCU | ||
+ | |{{enwiki|Read-copy-update|Read-Copy-Update}} | ||
+ | |{{header|rcu}} | ||
|- | |- | ||
|RTTI | |RTTI | ||
− | |{{rlp|types| RunTime Type Identification}} | + | |{{rlp|types|RunTime Type Identification}} |
|{{lc|std::type_info}} | |{{lc|std::type_info}} | ||
|- | |- | ||
− | |RVO | + | |RVO |
− | |{{rlp| | + | |{{rlp|copy elision|Return Value Optimization}} |
| | | | ||
|- | |- | ||
|SBO | |SBO | ||
|Small Buffer Optimization | |Small Buffer Optimization | ||
+ | | | ||
+ | |- | ||
+ | |SBRM | ||
+ | |'''S'''cope-'''B'''ound '''R'''esource '''M'''anagement, see {{ls|#RAII}} | ||
| | | | ||
|- | |- | ||
|SCARY | |SCARY | ||
− | | | + | |'''S'''eemingly erroneous (appearing '''C'''onstrained by conflicting generic parameters), but '''A'''ctually work with the '''R'''ight implementation (unconstrained b'''Y''' the conflict due to minimized dependencies). |
− | | [ | + | |[https://www.stroustrup.com/SCARY.pdf stroustrup.com/SCARY] |
+ | |- | ||
+ | |SEH | ||
+ | |'''S'''tructured '''E'''xception '''H'''andling | ||
+ | |{{enwiki|Microsoft-specific exception handling mechanisms#SEH|SEH}} | ||
|- | |- | ||
|SFINAE | |SFINAE | ||
− | |{{rlp|sfinae | Substitution Failure Is Not An Error}} | + | |{{rlp|sfinae|Substitution Failure Is Not An Error}} |
|{{lc|std::enable_if}}, {{lc|std::void_t}} | |{{lc|std::enable_if}}, {{lc|std::void_t}} | ||
+ | |- | ||
+ | |SIOF | ||
+ | |[https://isocpp.org/wiki/faq/ctors#static-init-order '''S'''tatic '''I'''nitialization '''O'''rder '''F'''iasco] | ||
+ | | | ||
+ | |- | ||
+ | |SMF | ||
+ | |Special Member Function | ||
+ | | | ||
+ | |- | ||
+ | |SOCCC | ||
+ | |[[cpp/memory/allocator_traits/select_on_container_copy_construction|Select On Container Copy Construction]] | ||
+ | | | ||
|- | |- | ||
|SOO | |SOO | ||
|Small Object Optimization | |Small Object Optimization | ||
− | |{{lc|std::function}}, {{lc|std::any}} | + | |{{lc|std::move_only_function}}, {{lc|std::function}}, {{lc|std::any}} |
|- | |- | ||
|SSO | |SSO | ||
|Small String Optimization | |Small String Optimization | ||
|{{lc|std::basic_string}} | |{{lc|std::basic_string}} | ||
+ | |- | ||
+ | |STL | ||
+ | |The '''S'''tandard '''T'''emplate '''L'''ibrary | ||
+ | | | ||
+ | |- | ||
+ | |TCO | ||
+ | |'''T'''ail '''C'''all '''O'''ptimization | ||
+ | | | ||
|- | |- | ||
|TMP | |TMP | ||
− | | | + | |{{rlp|template metaprogramming|'''T'''emplate '''M'''eta '''P'''rogramming}} |
|{{header|type_traits}} | |{{header|type_traits}} | ||
+ | |- | ||
+ | |TU | ||
+ | |[[cpp/language/translation phases#Phase 8|Translation Unit]] | ||
+ | |{{rlp|modules|Modules}}, {{rlp|tu_local|TU-local}} | ||
|- | |- | ||
|UB | |UB | ||
− | |{{rlp|ub | Undefined Behavior}} | + | |{{rlp|ub|Undefined Behavior}} |
+ | | | ||
+ | |- | ||
+ | |UDC | ||
+ | |[[cpp/language/cast operator|'''U'''ser-'''D'''efined '''C'''onversion]] operator | ||
| | | | ||
|- | |- | ||
|UDL | |UDL | ||
− | |{{rlp| | + | |{{rlp|user literal|User-Defined Literals}} |
+ | | | ||
+ | |- | ||
+ | |UFCS | ||
+ | |Universal Function Call Syntax | ||
+ | |[https://brevzin.github.io/c++/2019/04/13/ufcs-history “What is UFCS anyway?”] | ||
+ | |- | ||
+ | |VLA | ||
+ | |'''V'''ariable-'''L'''ength '''A'''rray | ||
+ | |[https://stackoverflow.com/questions/1887097/why-arent-variable-length-arrays-part-of-the-c-standard SO on VLA] | ||
+ | |- | ||
+ | |WPO | ||
+ | |[[enwiki:Interprocedural optimization#WPO and LTO|Whole-Program Optimization]] | ||
| | | | ||
|} | |} | ||
− | {{langlinks|ja|zh}} | + | ===External links=== |
+ | {{elink begin}} | ||
+ | {{elink|[https://quuxplusone.github.io/blog/2019/08/02/the-tough-guide-to-cpp-acronyms/ “A C++ acronym glossary” by Arthur O’Dwyer, 2019/08]}} | ||
+ | {{elink end}} | ||
+ | |||
+ | {{langlinks|es|ja|ru|zh}} |
Latest revision as of 11:54, 7 November 2024
[edit] External links
“A C++ acronym glossary” by Arthur O’Dwyer, 2019/08 |