C++ 약어 모음
C++ 약어 모음 (Acronyms)
C++ 커뮤니티나 문서를 읽다 보면 ADL, RAII, SFINAE처럼 줄임말이 쏟아져 나오는데요, 처음 보면 뭐가 뭔지 헷갈리기 쉬워요. 이 페이지는 C++에서 자주 등장하는 약어를 사전처럼 정리해 둔 목록이에요. 모르는 약어가 나오면 여기서 찾아보면 되죠.
출처: cppreference
본문
표는 '약어 → 원래 이름(full name) → 더 볼거리(See also)' 순서로 정리돼 있어요. 약어와 원래 이름은 기술 용어라서 영어 그대로 두는 게 정확해요. 각 약어의 자세한 의미는 See also가 가리키는 문서에서 볼 수 있어요.
| Acronym | Full name | See also |
|---|---|---|
| AAA | Almost Always Auto | GOTW #94 |
| ABC | Abstract Base Class | |
| ABI | Application Binary Interface | Itanium C++ ABI |
| ADL | Argument-Dependent Lookup | |
| ADT | Abstract Data Type | |
| AFO | Algorithm Function Objects | CPO |
| API | Application Programming Interface | |
| BMI | Binary Module Interface | Modules |
| CAS | Compare-And-Swap; Copy And Swap | compare_exchange |
| CMI | Compiled Module Interfaces | Modules |
| COW | Copy-On-Write | |
| CPO | Customization Point Object | [customization.point.object], RangeAdaptorObject, RangeAdaptorClosureObject, AFO |
| CRTP | Curiously Recurring Template Pattern | std::enable_shared_from_this, std::ranges::view_interface |
| CTAD | Class Template Argument Deduction | |
| CTRE | Compile-Time Regular Expressions | CTRE lib |
| CWG | The Core Working Group | WG21 |
| DCL | Double-Checked Locking | Concurrency support library |
| DIS | Draft International Standard | See also FDIS |
| DR | Defect Report | |
| EBOEBCO | Empty Base (Class) Optimization | [[no_unique_address]], std::allocator, std::default_delete |
| EDG | Edison Design Group | |
| EH | Exception Handling | |
| ELF | Executable and Linkable Format | |
| EWG | The Evolution Working Group | WG21 |
| EWGI | The Evolution Working Group Incubator | WG21 |
| FAM | Flexible Array Member | |
| FDIS | Final Draft International Standard | See also DIS |
| GCC | GNU Compiler Collection | |
| GMF | Global Module Fragment | Modules |
| HALO | Heap Allocation eLision Optimization | Coroutines, P0981 |
| ICE | Internal Compiler Error; Integer Constant Expression | |
| IFNDR | Ill-Formed, No Diagnostic Required | |
| IIILE | Immediately Invoked Initializing Lambda Expression | |
| IPO | Inter-Procedural Optimization | |
| IWYU | Include What You Use | libclang-based tool |
| LEWG | The Library Evolution Working Group | WG21 |
| LEWGI | The Library Evolution Working Group Incubator | WG21 |
| LTO | Link-Time Optimization | |
| LWG | The Library Working Group | WG21 |
| MDT | Most Derived Type | |
| MPSC | Multi-Producer Single-Consumer (e.g., task queue) | std::executor |
| MSVC | MicroSoft Visual C++ | |
| NAD | Not A Defect | See also DR |
| NDR | No Diagnostic Required | |
| NRVO | Named Return Value Optimization | |
| NSDMI | Non-Static Data Member Initialization | |
| NTBS | Null-Terminated Byte Strings | |
| NTTP | Non-Type Template Parameter | |
| NUA | No Unique Address | [[no_unique_address]] |
| NVI | Non-Virtual Interface | |
| ODR | One Definition Rule | |
| OOP | Object-Oriented Programming | |
| PCH | Pre-Compiled Header | gcc doc on PCH |
| PDO | Profile-Driven Optimization | See also PGO |
| PGO | Profile-Guided Optimization | See also PDO |
| PID | Process IDentifier | std::thread::get_id(), std::jthread::get_id() |
| PIMPL | Pointer to IMPLementation | |
| PMF | Private Module Fragment | Modules |
| PMR | Polymorphic Memory Resources | <memory_resource> |
| POCCA | Propagate on Container Copy Assignment | |
| POCMA | Propagate on Container Move Assignment | |
| POCS | Propagate on Container Swap | |
| POD | Plain Old Data (PODType) | ScalarType, TrivialType, StandardLayoutType |
| QoI | Quality of Implementation | |
| RAII | Resource Acquisition Is Initialization | |
| RACO | Range Adaptor Closure Object | RangeAdaptorClosureObject |
| RAO | Range Adaptor Object | RangeAdaptorObject |
| RCU | Read-Copy-Update | |
| RTTI | RunTime Type Identification | std::type_info |
| RVO | Return Value Optimization | |
| SBO | Small Buffer Optimization | See also SOO, SSO |
| SBRM | Scope-Bound Resource Management, see RAII | |
| SCARY | Seemingly erroneous (appearing Constrained by conflicting generic parameters), but Actually work with the Right implementation (unconstrained bY the conflict due to minimized dependencies). | stroustrup.com/SCARY |
| SEH | Structured Exception Handling | SEH |
| SFINAE | Substitution Failure Is Not An Error | std::enable_if, std::void_t |
| SIMD | Single Instruction Multiple Data | Data-parallel types (SIMD) |
| SIOF | Static Initialization Order Fiasco | |
| SMF | Special Member Function | |
| SOCCC | Select On Container Copy Construction | |
| SOO | Small Object Optimization | std::move_only_function, std::function, std::any. See also SBO, SSO |
| SSO | Small String Optimization | std::basic_string. See also SBO, SOO |
| STL | The Standard Template Library | |
| TCO | Tail Call Optimization | |
| TLS | Thread-Local Storage | thread_local |
| TMP | Template Meta Programming | <type_traits> |
| TU | Translation Unit | Modules, TU-local |
| UB | Undefined Behavior | |
| UDC | User-Defined Conversion operator | |
| UDL | User-Defined Literals | |
| UFCS | Universal Function Call Syntax | “What is UFCS anyway?” |
| VLA | Variable-Length Array | SO on VLA |
| WPO | Whole-Program Optimization |
더 알아보기
- ADL, CTAD, SFINAE, CRTP처럼 이 목록에 나온 약어 중 궁금한 건 cppreference의 해당 언어 문서에서 더 깊게 볼 수 있어요.
- 'A C++ acronym glossary'처럼 이 표의 원형이 된 글들도 함께 참고하면 좋아요.
- cppreference의 약어 모음 원문에서 최신 목록을 확인할 수 있어요.