Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tip-of-the-week/cpp

C++ Tip Of The Week
https://github.com/tip-of-the-week/cpp

cpp11 cpp14 cpp17 cpp20 cpp23 cpp26

Last synced: about 15 hours ago
JSON representation

C++ Tip Of The Week

Awesome Lists containing this project

README

        

## C++ Tip of The Week
---

> Your weekly dose of modern C++ challenge (Release every `Sunday`).

* https://tip-of-the-week.github.io/cpp
* How to contribute/add a solution?

* Contributions are always very much appreciated. Just create a [Pull Request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) with your solution.

---

### Tips

> C++26

* [Did you know that C++26 added structured binding declaration as a condition?](https://github.com/tip-of-the-week/cpp/blob/master/tips/376.md)
* [Did you know that C++26 added support constexpr placement new?](https://github.com/tip-of-the-week/cpp/blob/master/tips/375.md)
* [Did you know that C++26 added `= delete("should have a reason")`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/371.md)
* [Did you know that C++26 added `span.at`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/370.md)
* [Did you know about C++26 simd proposal (1/N)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/367.md)
* [Did you know about C++26 simd proposal (2/N)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/374.md)
* [Did you know about C++26 static reflection proposal (1/N)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/361.md)
* [Did you know about C++26 static reflection proposal (2/N)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/362.md)
* [Did you know about C++26 static reflection proposal (3/N)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/363.md)
* [Did you know about C++26 static reflection proposal (4/N)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/364.md)
* [Did you know about C++26 static reflection proposal (5/N)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/365.md)
* [Did you know about C++26 static reflection proposal (6/N)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/366.md)
* [Did you know about C++26 static reflection proposal (7/N)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/372.md)
* [Did you know that C++26 added `Pack Indexing`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/358.md)
* [Did you know about C++26 proposal - `variadic friends`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/352.md)
* [Did you know about C++26 proposal - `inplace_vector`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/351.md)
* [Did you know about C++26 proposal - Aggregates are named tuples?](https://github.com/tip-of-the-week/cpp/blob/master/tips/350.md)
* [Did you know that C++26 added new SI prefixes?](https://github.com/tip-of-the-week/cpp/blob/master/tips/349.md)
* [Did you know that C++26 changed arithmetic overloads of std::to_string and std::to_wstring to use std::format?](https://github.com/tip-of-the-week/cpp/blob/master/tips/348.md)
* [Did you know that C++26 added more constexpr for `` and ``?](https://github.com/tip-of-the-week/cpp/blob/master/tips/347.md)
* [Did you know that C++26 added testing for success or failure of `` functions?](https://github.com/tip-of-the-week/cpp/blob/master/tips/346.md)
* [Did you know that C++26 allows constexpr cast from `void*`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/345.md)
* [Did you know that C++26 added `Member visit`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/344.md)
* [Did you know that C++26 std.format added formatting pointers ability?](https://github.com/tip-of-the-week/cpp/blob/master/tips/343.md)
* [Did you know that C++26 added 'A nice placeholder with no name'?](https://github.com/tip-of-the-week/cpp/blob/master/tips/342.md)
* [Did you know that C++26 added user-generated static_assert messages?](https://github.com/tip-of-the-week/cpp/blob/master/tips/341.md)
* [Did you know that C++26 added bind front and back to NTTP callables?](https://github.com/tip-of-the-week/cpp/blob/master/tips/340.md)
* [Did you know that C++26 added `@, $, and `` to the basic character set?](https://github.com/tip-of-the-week/cpp/blob/master/tips/339.md)

> C++23

* [Did you know that C++23 added constexpr `bitset`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/373.md)
* [Did you know that C++23 added Explicit lifetime management (1/N)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/368.md)
* [Did you know that C++23 added spanstream - A strstream replacement using span as buffer?](https://github.com/tip-of-the-week/cpp/blob/master/tips/360.md)
* [Did you know that C++23 added standard support for `flat_map`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/357.md)
* [Did you know that C++23 added range `string_view` constructor?](https://github.com/tip-of-the-week/cpp/blob/master/tips/354.md)
* [Did you know that C++23 added `std::invoke_r`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/334.md)
* [Did you know that C++23 extended floating-point types?](https://github.com/tip-of-the-week/cpp/blob/master/tips/328.md)
* [Did you know that C++23 deprecated std::aligned_storage and std::aligned_union?](https://github.com/tip-of-the-week/cpp/blob/master/tips/326.md)
* [Did you know that C++23 added Monadic operations for std::expected?](https://github.com/tip-of-the-week/cpp/blob/master/tips/322.md)
* [Did you know that C++23 added support for formatting ranges?](https://github.com/tip-of-the-week/cpp/blob/master/tips/321.md)
* [Did you know that `std::unique_ptr` can be constexpr in C++23?](https://github.com/tip-of-the-week/cpp/blob/master/tips/318.md)
* [Did you know that C++23 added static operator[]?](https://github.com/tip-of-the-week/cpp/blob/master/tips/307.md)
* [Did you know that functions in `` are constexpr since C++23?](https://github.com/tip-of-the-week/cpp/blob/master/tips/301.md)
* [Did you know that C++23 added support for constexpr std::bitset?](https://github.com/tip-of-the-week/cpp/blob/master/tips/300.md)
* [Did you know that C++23 added static operator()?](https://github.com/tip-of-the-week/cpp/blob/master/tips/298.md)
* [Did you know that C++23 added `stacktrace` library?](https://github.com/tip-of-the-week/cpp/blob/master/tips/295.md)
* [Did you know that [[assume]] attribute has been accepted to C++23?](https://github.com/tip-of-the-week/cpp/blob/master/tips/289.md)
* [Did you know that C++23 added `auto(x): decay-copy in the language`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/287.md)
* [Did you know about C++23 ispanstream - A strstream replacement using span as buffer?](https://github.com/tip-of-the-week/cpp/blob/master/tips/284.md)
* [Did you know that C++23 added `ranges::to` (conversion from ranges to containers)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/283.md)
* [Did you know that C++23 added Literal Suffix for (signed) size_t?](https://github.com/tip-of-the-week/cpp/blob/master/tips/278.md)
* [Did you know that C++23 added `bind_back` to simplify writing higher order functions?](https://github.com/tip-of-the-week/cpp/blob/master/tips/276.md)
* [Did you know about C++23 proposal `Structured Bindings can introduce a Pack`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/274.md)
* [Did you know that C++23 added `std::to_underlying`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/270.md)
* [Did you know that C++23 added `std::unreachable`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/267.md)
* [Did you know that C++23 added Attributes on Lambda-Expressions?](https://github.com/tip-of-the-week/cpp/blob/master/tips/265.md)
* [Did you know that C++23 added std::byteswap to swap bytes?](https://github.com/tip-of-the-week/cpp/blob/master/tips/263.md)
* [Did you know that type_info equality operator is constexpr in C++23?](https://github.com/tip-of-the-week/cpp/blob/master/tips/262.md)
* [Did you know that C++23 added Monadic operations for std::optional?](https://github.com/tip-of-the-week/cpp/blob/master/tips/261.md)
* [Did you know that C++23 added std::move_only_function?](https://github.com/tip-of-the-week/cpp/blob/master/tips/260.md)
* [Did you know that C++23 added basic_string::resize_and_overwrite?](https://github.com/tip-of-the-week/cpp/blob/master/tips/252.md)
* [Did you know that C++23 allows extended init-statement with alias-declaration in the for loop?](https://github.com/tip-of-the-week/cpp/blob/master/tips/249.md)
* [Did you know that CRTP can be implemented with C++23 `Deducing this`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/248.md)
* [Did you know that `Deducing this` proposal has been voted out into C++23?](https://github.com/tip-of-the-week/cpp/blob/master/tips/247.md)
* [Did you know that C++23 added `if consteval`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/230.md)
* [Did you know about C++23 feature which adds support for inheriting from std::variant?](https://github.com/tip-of-the-week/cpp/blob/master/tips/226.md)
* [Did you know about C++23 feature which removes unnecessary ()’s from C++ lambdas?](https://github.com/tip-of-the-week/cpp/blob/master/tips/225.md)
* [Did you know that C++23 added `contains` function to `string_view`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/222.md)
* [Did you know that C++23 added `is_scoped_enum` type trait to detect whether an enum is scoped?](https://github.com/tip-of-the-week/cpp/blob/master/tips/200.md)
* [Did you know about C++23 proposal to add `views::enumerate`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/194.md)
* [Did you know that C++23 permitts static constexpr variables in constexpr functions?](https://github.com/tip-of-the-week/cpp/blob/master/tips/310.md)
* [Did you know about proposal to add support for recursive lambdas?](https://github.com/tip-of-the-week/cpp/blob/master/tips/206.md)
* [Did you know about proposal to add Compile Time Regular Expressions?](https://github.com/tip-of-the-week/cpp/blob/master/tips/188.md)

> C++20

* [Did you know that C++20 `source_location` can be used to get the member names?](https://github.com/tip-of-the-week/cpp/blob/master/tips/359.md)
* [Did you know that C++20's `no_unique_address` can be used to find unique types?](https://github.com/tip-of-the-week/cpp/blob/master/tips/356.md)
* [Did you know that C++20 added constinit keyword?](https://github.com/tip-of-the-week/cpp/blob/master/tips/355.md)
* [Did you know about C++20 `std::next_permutation` algorithm?](https://github.com/tip-of-the-week/cpp/blob/master/tips/338.md)
* [Did you know that C++20 added `std::span`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/333.md)
* [Did you know that with C++20 you can pass concepts?](https://github.com/tip-of-the-week/cpp/blob/master/tips/317.md)
* [Did you know about C++20 `is_layout_compatible_v` type_traits?](https://github.com/tip-of-the-week/cpp/blob/master/tips/315.md)
* [Did you know that C++20 added support for Unevaluated asm-declaration in constexpr functions?](https://github.com/tip-of-the-week/cpp/blob/master/tips/312.md)
* [Did you know that C++20 added support for constexpr std::vector?](https://github.com/tip-of-the-week/cpp/blob/master/tips/309.md)
* [Did you know that C++20 concepts can be used to avoid implicit conversions?](https://github.com/tip-of-the-week/cpp/blob/master/tips/299.md)
* [Did you know that C++20 introduced coroutines? (co_await)](https://github.com/tip-of-the-week/cpp/blob/master/tips/297.md)
* [Did you know that C++20 introduced coroutines? (co_yield)](https://github.com/tip-of-the-week/cpp/blob/master/tips/296.md)
* [Did you know that with C++20 (constexpr containers) TMP can be achieved with STL?](https://github.com/tip-of-the-week/cpp/blob/master/tips/294.md)
* [Did you know about C++20 template specialization with concepts?](https://github.com/tip-of-the-week/cpp/blob/master/tips/285.md)
* [Did you know about introduced in C++20 `object concepts`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/282.md)
* [Did you know that C++20 made `std::string` constexpr?](https://github.com/tip-of-the-week/cpp/blob/master/tips/279.md)
* [Did you know that C++20 added std::ranges::{all_of, any_of, none_of} algorithms?](https://github.com/tip-of-the-week/cpp/blob/master/tips/272.md)
* [Did you know that C++20 added support for floating point values as non-type template parameters](https://github.com/tip-of-the-week/cpp/blob/master/tips/271.md)
* [Did you know that C++20 added `std::erase_if` for std::map and std::vector?](https://github.com/tip-of-the-week/cpp/blob/master/tips/268.md)
* [Did you know that C++20 added `__VA_OPT__` for comma omission and comma deletion?](https://github.com/tip-of-the-week/cpp/blob/master/tips/264.md)
* [Did you know that C++20 extends support for data time utilities?](https://github.com/tip-of-the-week/cpp/blob/master/tips/253.md)
* [Did you know that C++20 added `type_identity` which implements the identity metafunction?](https://github.com/tip-of-the-week/cpp/blob/master/tips/251.md)
* [Did you know that C++20 `[[no_unique_address]]` can be used to implement lazy/fast/memory efficient](https://github.com/tip-of-the-week/cpp/blob/master/tips/235.md)
* [Did you know that C++20 made `typename` more optional?](https://github.com/tip-of-the-week/cpp/blob/master/tips/233.md)
* [Did you know that C++20 `std::to_array` supports creating from string literals?](https://github.com/tip-of-the-week/cpp/blob/master/tips/205.md)
* [Did you know that C++20 added `Using Enum` which introduces the enumerator names of the named enumeratio](https://github.com/tip-of-the-week/cpp/blob/master/tips/202.md)
* [Did you know that C++20 added support for `[[no_unique_address]]` attribute?](https://github.com/tip-of-the-week/cpp/blob/master/tips/195.md)
* [Did you know that C++20 added support for `constexpr new`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/193.md)
* [Did you know that C++20 added `ostream_joiner` that writes successive objects into the basic_ostr](https://github.com/tip-of-the-week/cpp/blob/master/tips/190.md)
* [Did you know that Formatted output has been accepted into C++20?](https://github.com/tip-of-the-week/cpp/blob/master/tips/183.md)
* [Did you know C++2X Pattern Matching can be used for run-time dispatching?](https://github.com/tip-of-the-week/cpp/blob/master/tips/215.md)
* [Did you know about C++2X Pattern Matching proposal?](https://github.com/tip-of-the-week/cpp/blob/master/tips/211.md)
* [Did you know about the proposal to add Non-terminal variadic template parameters?](https://github.com/tip-of-the-week/cpp/blob/master/tips/182.md)
* [Did you know about the proposal to add constexpr function parameters?](https://github.com/tip-of-the-week/cpp/blob/master/tips/207.md)
* [Did you know about `Design By Introspection`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/210.md)
* [Did you know that you can customize formatter for your classes with std::format?](https://github.com/tip-of-the-week/cpp/blob/master/tips/184.md)
* [Did you know Non-Type Template Parameters (NTTP)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/186.md)
* [Did you know that static reflection supports introspecting constructors?](https://github.com/tip-of-the-week/cpp/blob/master/tips/259.md)
* [Did you know that static reflection can be used to invoke functions with named parameters?](https://github.com/tip-of-the-week/cpp/blob/master/tips/258.md)
* [Did you know that static reflection can be used to implement row polymorphism?](https://github.com/tip-of-the-week/cpp/blob/master/tips/257.md)
* [Did you know that static reflection proposal for C++2X has mirror/value based interface?](https://github.com/tip-of-the-week/cpp/blob/master/tips/256.md)
* [Did you know that static reflection proposal for C++2X can reflect functions?](https://github.com/tip-of-the-week/cpp/blob/master/tips/255.md)
* [Did you know about static reflection proposal for C++2X?](https://github.com/tip-of-the-week/cpp/blob/master/tips/254.md)
* [Did you know about the proposal to make printf compile-time safe and with named arguments?](https://github.com/tip-of-the-week/cpp/blob/master/tips/185.md)
* [Did you know about proposal to introduce constexpr ternary operator?](https://github.com/tip-of-the-week/cpp/blob/master/tips/199.md)
* [Did you know about the proposal to add json support to the standard library?](https://github.com/tip-of-the-week/cpp/blob/master/tips/223.md)
* [Did you know about `std::expected` proposal for error handling?](https://github.com/tip-of-the-week/cpp/blob/master/tips/192.md)
* [Did you know that Lambdas in Unevaluated Context combined with Template Constraints (Concepts)?](https://github.com/tip-of-the-week/cpp/blob/master/tips/197.md)
* [Did you know that Lambdas in Unevaluated Context combined with Immediately Invoked Function Expression?](https://github.com/tip-of-the-week/cpp/blob/master/tips/196.md)
* [Did you know that Compile Time Regular Expressions support extracting matches?](https://github.com/tip-of-the-week/cpp/blob/master/tips/189.md)
* [Did you know about C++2X `Pattern matching using is and as` proposal?](https://github.com/tip-of-the-week/cpp/blob/master/tips/243.md)
* [Did you know that tuple can be implement just with lambdas?](https://github.com/tip-of-the-week/cpp/blob/master/tips/304.md)
* [Did you know that with concepts you can override a type?](https://github.com/tip-of-the-week/cpp/blob/master/tips/302.md)
* [Did you know about (rejected) proposal for homogeneous variadic function parameters?](https://github.com/tip-of-the-week/cpp/blob/master/tips/305.md)
* [Did you know that lambda expression is guaranteed to have a unique type?](https://github.com/tip-of-the-week/cpp/blob/master/tips/290.md)
* [Did you know what is the underlying type of NTTP string aka `fixed_string`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/275.md)
* [Did you know that lambdas are const by default but can be mutable and keep state?](https://github.com/tip-of-the-week/cpp/blob/master/tips/212.md)
* [Did you know that concept can be passed via lambda expression?](https://github.com/tip-of-the-week/cpp/blob/master/tips/273.md)

> C++17

* [Did you know that C++17 added Hardware interference size?](https://github.com/tip-of-the-week/cpp/blob/master/tips/369.md)
* [Did you know that the underlying visit implementation of std::visit has changed since GCC12+, Clang15+?](https://github.com/tip-of-the-week/cpp/blob/master/tips/353.md)
* [Did you know that run-time dispatching over type-list can be implemented many different ways?](https://github.com/tip-of-the-week/cpp/blob/master/tips/337.md)
* [Did you know that you can simplify `boost.mp11` API with DSL?](https://github.com/tip-of-the-week/cpp/blob/master/tips/335.md)
* [Did you about C++17 `std::index_sequence, std::make_index_sequence`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/331.md)
* [Did you know that C++17 added `std::pmr::polymorphic_allocator`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/330.md)
* [Did you know that C++17 added `std::forward_as_tuple` and `std::make_from_tuple` and what’s the differ](https://github.com/tip-of-the-week/cpp/blob/master/tips/327.md)
* [Did you know that C++17 [[nodiscard]] attribute can be applied not only to function?](https://github.com/tip-of-the-week/cpp/blob/master/tips/293.md)
* [Did you know that C++17 structured bindings support to custom classes can be added?](https://github.com/tip-of-the-week/cpp/blob/master/tips/277.md)
* [Did you know about C++17 variadic using declaration?](https://github.com/tip-of-the-week/cpp/blob/master/tips/231.md)
* [Did you know that C++17 made exception specifications be part of the type system?](https://github.com/tip-of-the-week/cpp/blob/master/tips/187.md)
* [Did you know about C++2X proposal to add Multidimensional subscript operator?](https://github.com/tip-of-the-week/cpp/blob/master/tips/245.md)
* [Did you know that `std::variant` become valueless by exception?](https://github.com/tip-of-the-week/cpp/blob/master/tips/227.md)
* [Did you know about `std::rank/std::rank_v` type_trait to get the rank of the array?](https://github.com/tip-of-the-week/cpp/blob/master/tips/316.md)
* [Did you know that constexpr is strict about undefined behaviour (UB), object lifetime, etc?](https://github.com/tip-of-the-week/cpp/blob/master/tips/323.md)
* [Did you know about `Policy Based Design`?](https://github.com/tip-of-the-week/cpp/blob/master/tips/209.md)
* [Did you know about python's named tuples?](https://github.com/tip-of-the-week/cpp/blob/master/tips/229.md)
* [Did you know about typename erasure technique to reduce compilation times with templates?](https://github.com/tip-of-the-week/cpp/blob/master/tips/303.md)
* [Did you know that mapping types to values is a simple way to transition from compile-time to run-time?](https://github.com/tip-of-the-week/cpp/blob/master/tips/213.md)

> C++14

* [Did you know that in C++ you can generate jump tables at compile-time?](https://github.com/tip-of-the-week/cpp/blob/master/tips/332.md)
* [Did you know that C++ allows to pass Pointer To Member Function via template parameter?](https://github.com/tip-of-the-week/cpp/blob/master/tips/329.md)
* [Did you know about `typename erasure` technique (via Strong/Opaque Typedefs) in C++?](https://github.com/tip-of-the-week/cpp/blob/master/tips/325.md)
* [Did you know about intrisincts to support SIMD (Single Instruction, Multiple Data) instructio](https://github.com/tip-of-the-week/cpp/blob/master/tips/320.md)
* [Did you know DRY (Don’t Repeat Yourself) comparisons pattern?](https://github.com/tip-of-the-week/cpp/blob/master/tips/311.md)
* [Did you know that you can implement a compile-time map with C++?](https://github.com/tip-of-the-week/cpp/blob/master/tips/204.md)
* [Did you know about use cases for type-based `reserved` decorator?](https://github.com/tip-of-the-week/cpp/blob/master/tips/280.md)
* [Did you know about Automatic Dependency Injection libraries such as DI?](https://github.com/tip-of-the-week/cpp/blob/master/tips/219.md)
* [Did you know that with Automatic DI production wiring can be overwritten for integration testing?](https://github.com/tip-of-the-week/cpp/blob/master/tips/221.md)
* [Did you know that with Automatic DI one can control how dependencies are being created?](https://github.com/tip-of-the-week/cpp/blob/master/tips/220.md)
* [Did you know about different ways of constructor Dependency Injection?](https://github.com/tip-of-the-week/cpp/blob/master/tips/218.md)
* [Did you know that the JSON standard does not specify that the insertion order of object elements?](https://github.com/tip-of-the-week/cpp/blob/master/tips/224.md)

> C++11
* [Did you know that C++11 allows calling functions with reference-to-array parameters from an initialize](https://github.com/tip-of-the-week/cpp/blob/master/tips/319.md)
* [Did you know that C++11 added a numeric literal operator template?](https://github.com/tip-of-the-week/cpp/blob/master/tips/246.md)
* [Did you know the difference between fakes, stubs, mocks?](https://github.com/tip-of-the-week/cpp/blob/master/tips/217.md)
* [Did you know that you can inject singletons to improve testability?](https://github.com/tip-of-the-week/cpp/blob/master/tips/216.md)
* [Did you know about memoized for less types (more compile-time friendly) conditional_t?](https://github.com/tip-of-the-week/cpp/blob/master/tips/292.md)
* [Did you know about gtest.gmock mocking framework?](https://github.com/tip-of-the-week/cpp/blob/master/tips/281.md)
* [Did you know about methods to access the last element of variadic pack...?](https://github.com/tip-of-the-week/cpp/blob/master/tips/250.md)
* [Did you know that different overloads can have different specifiers?](https://github.com/tip-of-the-week/cpp/blob/master/tips/232.md)
* [Did you know that C++ allows accessing private members with friend injection?](https://github.com/tip-of-the-week/cpp/blob/master/tips/228.md)
* [Did you know about variadic aggregate initialization?](https://github.com/tip-of-the-week/cpp/blob/master/tips/214.md)
* [Did you know that default template arguments can be explored with template template arguments?](https://github.com/tip-of-the-week/cpp/blob/master/tips/208.md)

> C++98

* [Did you know about `virtual` inheritance in C++?](https://github.com/tip-of-the-week/cpp/blob/master/tips/324.md)
* [Did you know that the layout of struct fields will affect its size/alignment?](https://github.com/tip-of-the-week/cpp/blob/master/tips/308.md)
* [Did you know that in C++ `char`, `signed char` and `unsigned char` are 3 different types?](https://github.com/tip-of-the-week/cpp/blob/master/tips/203.md)
* [Did you know about function-try-block and that exceptions caught inside that block are implicitly](https://github.com/tip-of-the-week/cpp/blob/master/tips/234.md)
* [Did you know that expression evaluation order is not specified?](https://github.com/tip-of-the-week/cpp/blob/master/tips/191.md)
* [Did you know that `sizeof` operator can be used for efficient math computation?](https://github.com/tip-of-the-week/cpp/blob/master/tips/201.md)
* [Did you know about different ways of iterating over objects?](https://github.com/tip-of-the-week/cpp/blob/master/tips/198.md)
* [Did you know about if/else hell anti-pattern?](https://github.com/tip-of-the-week/cpp/blob/master/tips/306.md)
* [Did you know you can pass an array by reference?](https://github.com/tip-of-the-week/cpp/blob/master/tips/288.md)
* [Did you know that ANSI/ISO C++ conforming programs must not rely on a maximum template depth?](https://github.com/tip-of-the-week/cpp/blob/master/tips/242.md)
* [Did you know wrapping an unqualified function name?](https://github.com/tip-of-the-week/cpp/blob/master/tips/266.md)
* [Did you know about compiler predefined macros assosicated with the compilation date/time?](https://github.com/tip-of-the-week/cpp/blob/master/tips/244.md)
* [Did you know about different ways of accessing C-style arrays by index?](https://github.com/tip-of-the-week/cpp/blob/master/tips/241.md)
* [Did you know that `using-declarator` can be used to manipulate the overload set?](https://github.com/tip-of-the-week/cpp/blob/master/tips/240.md)

> GNU-extensions

* [Did you know about `gnu::vector_size` extension?](https://github.com/tip-of-the-week/cpp/blob/master/tips/336.md)
* [Did you know about `__builtin_dump_struct` clang-extension which can nicely print a struct?](https://github.com/tip-of-the-week/cpp/blob/master/tips/236.md)
* [Did you know about [[gnu::cold]] function attribute to mark functions which are unlikely to be called?](https://github.com/tip-of-the-week/cpp/blob/master/tips/291.md)

> Circle

* [Did you know that Circle supports Python's extended slice syntax for variadic packs?](https://github.com/tip-of-the-week/cpp/blob/master/tips/286.md)
* [Did you know that Circle Meta-model allows to convert string to a type?](https://github.com/tip-of-the-week/cpp/blob/master/tips/239.md)
* [Did you know that Circle Meta-model allows for applying `normal` STL for operations on @meta types?](https://github.com/tip-of-the-week/cpp/blob/master/tips/238.md)
* [Did you know about C++2X proposal for the Circle Meta-model for compilation-time meta-progr](https://github.com/tip-of-the-week/cpp/blob/master/tips/237.md)

---

> Disclaimer This repo orignates from https://quantlabfinancial.github.io/cpp_tip_of_the_week