decltypespecifierstd::move- universal(forwarding) reference
- reference collapsing
- special member functions
noexceptspecifier |noexceptoperator
- Mandatory Copy Elision
- Unmaterialize object passing
- (Unnamed) Return Value Optimization (RVO)
- Named Return Value Optimization (NRVO) [Optimization - Copy Elision]
- No NRVO Scenarios
- Rule of Zero
- Bad Scenarios
noexceptoverridecontextual keyword(bağlamsal anahtar sözcük)- move sematics and
noexceptspecifier relationship - moved from state
- universal(forwarding) reference
- perfect forwarding
auto&&decltype(auto)
- reference qualifier
- move-only types
std::initializer_listclass templatestd::removeandstd::remove_ifalgorithmsstd::moveandstd::move_backwardalgorithmsstd::move_iteratoriterator adaptor
- cooked literal operator functions
- uncooked literal operator functions
- raw string literal
std::quoted
std::optionalclass templatestd::variantvariadic class templatestd::monostateclassstd::visitvariadic function templace- overloader idiom
std::anyclassstd::any_castfunction template
- class template argument deduction
- deduction guides
- lambda expressions
- lambda idioms
- positive lambda idiom
- immediately invoked funtion expression
- overload resolution idiom
- idiom that prevent static initialization order fiasco
- lambda expressions and C++20
- default ctor and copy assignment of stateless lambda expression
- lambda expression inside unevaluated context
- familiar template syntax
std::format- formatting user defined types
- aggregate types
- designated initializer for aggregate types
constexprfunctionsconsteval(immediate) function (C++20)constinit
[[nodiscard]]attribute[[deprecated]]attribute[[likely]]and[[unlikely]]attributes[[maybe_unused]]attribute[[noreturn]]attribute[[fallthrough]]attribute
requiresclause- named constraints (
concept) requiresexpression- simple requirement
- type requirement
- compound requirement
- nested requirement (
requiresclause)
- subsumption
- standart library concepts
- signed integral types right and left shift
std::ssizeglobal function template- struct's bitfield members
typenamekeyword in dependent type- safe comparison in mixed types
- conversion from
void*tobool - alias template deduction
source_locationmoduleusingenum declaration- conditionally
explicitconstructor
- explicit object parameter
- rangified algorithms
- projection in ranges::algorithms
- std::ranges::views
- lazy evaluation
- common
- subrange
- borrowed range
- views
- range adaptors and range factories
- caching mechanism in views
std::spanstd::dynamic_extentstd::subspan
- exception tracker idiom
- exception dispatcher idiom
- polymorphic exception idiom
- ADL + fallback idiom
- hidden friend idioms
- scope guard idiom
- return type resolve idiom
- non virtual interface idiom (NVI)
- fragile base class problem
std::tupleidioms- PIMPL idiom(Pointer to Implementation)
- Fast PIMPL idiom
- copy-swap idiom
- attorney-client idiom
- nifty counter idiom
- template argument deduction
- template parameter types
- template type parameter
- non-type template parameter (NTTP)
- template template parameter
- variable template
- default arguments in template parameters
- template specializations
- explicit(full) specialization
- partial specialization
- variadic templates (C++11)
- pack expansion
- fold expressions (C++17)
- unary fold
- binary fold
- fold expressions idioms
- static if (C++17)
- template instantiation
- point of instantiation (POI)
- explicit instantiation
- explicit instantiation directive
externtemplate declaration
- CRTP (Curiously Recurring Template Pattern)
- Mixin Pattern
std::exception_ptr(C++11)std::make_exception_ptr
std::nested_exception(C++11)std::throw_with_nestedstd::rethrow_if_nested
- quantifiers
- lazy or greedy quantifiers
- anchor
- capture group
- back reference
- alternation
- positive and negative look ahead
- positive and negative look back
<regex>module (C++11)std::regex_matchstd::smatch,std::cmatchstd::regex_searchstd::regex_iteratorstd::regex_token_iteratorstd::regex_replace
std::threadstd::this_threadnamespacestd::this_thread::sleep_forstd::this_thread::get_idstd::this_thread::sleep_untilstd::this_thread::yield
- exception in threads
- move semantics in threads
- thread local storage class
std::jthreadclass- mutual exclusion(mutex)
std::mutexclass- deadlock scenarios
std::recursive_mutexclassstd::timed_mutexclassstd::lock_guardclassstd::lockglobal function templatestd::scoped_lockclassstd::unique_lockclassstd::shared_mutexclass (C++17)
std::once_flag,std::call_oncestd::future,std::promisestd::asyncstd::launch::asyncpolicystd::launch::deferredpolicy
std::shared_futurestd::packaged_task- condition variable
- concurrency in standart library algorithms
- global execution policy objects
std::reducealgorithmstd::transform_reducealgorithmstd::inclusive_scan,std::exclusive_scanalgorithms
<atomic>modulestd::atomic_flagclassstd::atomicclass templatestd::memory_order
- thread-safe interface idiom
- guarded suspension
<semaphore>module (C++20)
co_awaitoperatorstd::coroutine_handle
template <auto N>syntax- lazy initialization
- refactoring functions
- default declaration of special member functions
- template argument deduction and
autotype deduction std::type_identitystd::iotaalgorithmnamespacealias- ADL and two step lookup
std::invokestd::exchangeinstd::clampin- deep constness
- file buffer to stream
std::accumulatealgorithmstd::transformalgorithmstd::inner_productalgorithmstd::partial_sumalgorithm- type erasure technique