This file is a directory of all the Daily bit(e) of C++ posts (starting from 2nd January 2023).
Each bit(e) links to the corresponding social media posts and lists the relevant keywords. Therefore, if you want to find posts talking about a specific topic, a simple search should give you what you need.
These posts are short-form C++ information posts.
1.
std::equal_range
3.
conditional operator?:
4.
multi-dimensional subscript operator[]
5.
std::in_range
8.
std::jthread
10.
std::stop_source
,std::stop_token
,std::stop_callback
11.
std::partition_copy
12.
std::mutex
13.
std::recursive_mutex
15.
std::shared_mutex
17.
std::adjacent_find
19.
std::timed_mutex
,std::recursive_timed_mutex
,std::shared_timed_mutex
20.
std::condition_variable
,std::condition_variable_any
22.
std::shift_left
,std::shift_right
24.
std::barrier
25.
std::unique
,std::unique_copy
26.
std::promise
,std::future
29.
std::inplace_merge
31.
std::scoped_lock
32.
std::to_underlying
33.
std::call_once
34.
std::tuple
36.
consteval
38.
if consteval {}
39.
std::iter_swap
40.
std::nth_element
43.
std::move_iterator
45.
std::all_of
,std::any_of
,std::none_of
46.
std::strong_ordering
,std::weak_ordering
,std::partial_ordering
47.
std::bitset
50.
std::compare_strong_order_fallback
,std::compare_weak_order_fallback
,std::compare_partial_order_fallback
52.
std::make_heap
,std::push_heap
,std::pop_heap
,std::sort_heap
53.
std::span
54.
std::min
,std::max
,std::minmax
55.
std::iota
,std::views::iota
57.
std::shuffle
59.
Opaque enum declarations60.
std::for_each
,std::ranges::for_each
61.
Monostate pattern62.
Correctly calling custom implementation ofstd::swap
64.
std::variant
66.
std::visit
,std::variant
67.
Defaulted comparison operators, spaceship operator68.
std::transform_reduce
69.
cv- and ref-qualified member functions71.
Selective copy:std::copy_if
,std::remove_copy_if
73.
std::chrono
- measuring time74.
std::chrono
- representing dates75.
std::chrono
- C++20 relative "pseudo-dates"76.
std::chrono
- time zones78.
std::spanstream
80.
std::views::repeat
81.
std::views::cartesian_product
82.
std::views::stride
85.
std::unique_ptr
- wrapping opaque pointers87.
std::partial_sort_copy
88.
User-defined literals89.
std::views::chunk_by
92.
std::counted_iterator
94.
std::views::slide
95.
std::exchange
96.
std::views::as_rvalue
97.
staticoperator()
99.
std::front_inserter
,std::back_inserter
,std::inserter
101.
Optional valuesstd::unique_ptr
,std::optional
102.
Integer literals103.
std::views::join
106.
std::current_exception
,std::exception_ptr
,std::rethrow_exception
108.
std::views::chunk
109.
inline namespace110.
std::optional
accessing value111.
override
specifier113.
[[nodiscard]]
attribute - basic use115.
std::transform
116.
std::views::zip
117.
Dependency injection120.
Type tagging122.
std::ranges::contains
,std::ranges::contains_subrange
123.
std::lower_bound
,std::upper_bound
124.
std::ranges::fold_left
,std::ranges::fold_left_first
,std::ranges::fold_right
,std::ranges::fold_right_last
125.
init statements (if, switch, range-loop)127.
std::views::adjacent
,std::views::pairwise
129.
[[no_unique_address]]
130.
std::endian
131.
std::views::keys
,std::views::values
134.
std::find
,std::find_if
,std::find_if_not
136.
std::views::enumerate
137.
std::ranges::fold_left_with_iter
,std::ranges::fold_left_first_with_iter
138.
Getter method singleton139.
std::views::transform
141.
Projection support instd::ranges
143.
std::function
144.
std::views::zip_transform
145.
std::move_only_function
146.
Raw string literals148.
std::ranges::find_last
,std::ranges::find_last_if
,std::ranges::find_last_if_not
150.
std::this_thread
151.
constexpr if
152.
std::views::join_with
155.
std::views::as_const
157.
std::async
158.
std::quoted
159.
Integer literal bases160.
std::next
,std::prev
162.
Structured bindings164.
std::views::common
165.
std::string
literals166.
std::variant
-std::monostate
169.
Unnamed / Anonymous namespaces171.
std::views::drop
,std::views::drop_while
172.
std::plus
,std::minus
,std::multiplies
,std::divides
,std::modulus
,std::negate
173.
Compositing C++20 views174.
std::rotate
176.
[[nodiscard]]
for types and constructors178.
std::views::reverse
179.
std::addressof
180.
Range-based for-loop as a replacement for raw for-loops.181.
Inheritance:final
specifier183.
Class Template Argument Deduction - CTAD185.
Deduction guides for CTAD186.
std::includes
187.
Nested Namespaces188.
std::views::filter
190.
std::optional
- monadic interface192.
std::any
193.
std::sort
194.
std::midpoint
195.
std::views::take
,std::views::take_while
197.
explicit
keyword199.
std::replace
,std::replace_if
200.
typeid
operator,std::type_info
201.
std::type_index
, Boosttypeindex
library- LinkedIn, Mastodon
- Medium, Substack
- Compiler Explorer:
std::type_index
,boost::typeindex
202.
std::min_element
,std::max_element
,std::minmax_element
204.
std::filesystem::path
,std::filesystem::directory_iterator
206.
std::partition
,std::stable_partition
207.
std::sample
208.
std::deque
209.
std::views::adjacent_transform
211.
std::gcd
,std::lcm
213.
std::remove
,std::remove_if
214.
std::list
,std::forward_list
215.
std::erase
,std::erase_if
216.
std::initializer_list
218.
Curiously Recurring Template Pattern (CRTP)220.
Argument Dependent Lookup (ADL)221.
std::expected
222.
std::views::counted
223.
Customization objects: ADL + Niebloid225.
std::binary_search
227.
std::equal_to
,std::not_equal_to
,std::greater
,std::less
,std::greater_equal
,std::less_equal
,std::compare_three_way
228.
std::is_sorted
,std::is_sorted_until
229.
std::array
230.
std::uninitialized_copy
,std::uninitialized_fill
,std::uninitialized_move
,std::uninitialized_value_construct
,std::uninitialized_default_construct
,std::destroy
232.
std::binary_semaphore
234.
std::priority_queue
235.
std::source_location
236.
std::invoke
237.
Lexicographical comparison with containers239.
std::transform_inclusive_scan
,std::transform_exclusive_scan
241.
std::lexicographical_compare
,std::lexicographical_compare_three_way
242.
File manipulation usingstd::filesystem
243.
std::stable_sort
244.
std::lerp
246.
std::shared_future
248.
std::numbers
249.
iostream: error handling250.
std::reverse
251.
std::queue
253.
std::search
255.
std::iostream
custom manipulators256.
std::advance
,std::distance
257.
std::string_view
258.
Conditionalexplicit
specifier260.
<iosfwd>
262.
std::stoi
,std::stol
,std::stoll
,std::stoul
,std::stoul
,std::stof
,std::stod
,std::stold
263.
std::to_address
264.
std::not_fn
265.
Overload selection: functions vs. function templates267.
[[deprecated]]
269.
std::packaged_task
270.
Forcing conversion of a lambda to a function pointer271.
std::abort
,std::terminate
- LinkedIn, Mastodon
- Medium, Substack
- Compiler Explorer:
std::abort
,std::terminate
272.
std::count
,std::count_if
274.
std::enable_shared_from_this
276.
auto()
,auto{}
277.
std::set_union
,std::set_intersection
,std::set_difference
,std::set_symmetric_difference
278.
Mixing integral and floating point types279.
std::reverse_iterator
281.
Explicit object parameter (a.k.a. deducingthis
)283.
Trivially copyable types284.
<bit>
285.
Capturingthis
286.
std::clamp
288.
std::istream_iterator
,std::ostream_iterator
290.
std::allocator
and custom allocators291.
std::accumulate
,std::partial_sum
292.
Implementing custom allocators293.
std::future<void>
,std::shared_future<void>
295.
The PMR (Polymorphic Memory Resource) library297.
std::partition_point
298.
Implementing allocator-aware types299.
std::move
300.
std::inner_product
302.
Integral promotions304.
Integral conversions (same signedness)305.
Integral conversions (different signedness)306.
std::stacktrace
307.
std::vector
309.
Reducing implicit conversions with Concepts311.
Partial ordering of constrained function overloads312.
Implementing a custom concept313.
container::contains()
314.
std::adjacent_difference
316.
Type erasure: inheritance318.
Type erasure: PIMPL319.
Type erasure:void*
320.
std::mismatch
321.
std::ranges::subrange
323.
thread_local
325.
C++20 spaceshipoperator<=>
vs equality326.
[[assume(expr)]];
327.
std::views::istream
328.
Parameter pack330.
Fold expressions332.
std::as_const
333.
emplace
,emplace_back
,emplace_front
359.
std::ranges::to
360.
std::bit_cast
361.
std::equal
,std::is_permutation
362.
std::ssize
,std::ranges::ssize
363.
std::unique_ptr
364.
std::expected
monadic interface365.
std::next_permutation
,std::prev_permutation
366.
Fundamental types367.
std::copy
,std::copy_backward
368.
Aggregate initialization369.
Designated initializers for aggregate initialization370.
std::generator
371.
std::string(_view)::starts_with
,std::string(_view)::ends_with
372.
Ordered containers:std::(multi_)map
,std::(multi_)set
373.
Handling required fields with designated initializers374.
std::string
375.
std::print
,std::println
376.
Inline variables377.
std::reduce
378.
std::error_code
,std::error_category
379.
Domain-specific errors usingstd::error_code
380.
Safe integral comparisons381.
Rule of Zero382.
std::osyncstream
383.
std::stack
385.
Unscopedenum
386.
Scopedenum
387.
std::bind_front
388.
std::out_ptr
,std::inout_ptr
389.
std::find_first_of
390.
Standard layout types391.
std::fill
,std::generate
392.
std::numeric_limits
393.
decltype
394.
std::declval
395.
std::merge
396.
Dependent names397.
std::byteswap
398.
std::latch
399.
Explicit/Full template specialization400.
std::search_n
401.
auto
type deduction402.
std::move
,std::move_backward
403.
Heterogenous lookup in ordered containers404.
std::reverse_copy
405.
decltype(auto)
406.
std::find_end
407.
std::bind_back
408.
std::partial_sort
409.
Heterogenous lookup in unordered containers410.
std::from_chars
412.
std::swap_ranges
413.
Saturation arithmetic414.
std::exit
,std::atexit
415.
std::format_to
,std::format_to_n
416.
std::getenv
417.
Concepts are template arguments418.
std::forward
419.
std::replace_copy
,std::replace_copy_if
420.
std::shared_ptr
basics421.
std::views::elements
422.
std::invoke_r
423.
Placeholder name_
424.
Implementing custom memory resources425.
std::unreachable
426.
std::weak_ptr
427.
std::istreambuf_iterator
,std::ostreambuf_iterator
428.
std::forward_like
429.
std::tie
,std::ignore
430.
std::reference_wrapper
,std::ref
,std::cref
431.
LRU cache usingstd::shared_ptr
432.
std::views::all
433.
std::logical_and
,std::logical_or
,std::logical_not
434.
std::quick_exit
,std::at_quick_exit
,std::_Exit
435.
std::ranges::starts_with
,std::ranges::ends_with
436.
std::mdspan
437.
std::format
438.
Constexpr vs Undefined Behaviour439.
Constraining onnoexcept
440.
std::make_unique_for_overwrite
,std::make_shared_for_overwrite
,std::allocate_shared_for_overwrite
442.
std::counting_semaphore
443.
std::pair
444.
Testing with ZOMBIES445.
Exceptions446.
std::async
,std::launch
447.
std::views::split
,std::views::lazy_split
448.
std::rotate_copy
449.
std::formatted_size
450.
std::unordered_map
,std::unordered_set
,std::unordered_multimap
,std::unordered_multiset
451.
std::hardware_destructive_interference_size
,std::hardware_constructive_interference_size
452.
std::bind
453.
Statically sizedstd::span
454.
std::complex
455.
std::inclusive_scan
,std::exclusive_scan
456.
Partial template specialization457.
Custom formatters forstd::format
458.
std::stringstream
459.
Exception guarantees460.
tuple-like
,pair-like
461.
Member function call resolution462.
Virtual member functions463.
Move-only type mixin464.
std::to_chars
465.
Covariant return types466.
std::bit_and
,std::bit_or
,std::bit_xor
,std::bit_not
467.
std::atomic<std::shared_ptr>
,std::atomic<std::weak_ptr>
468.
main
function469.
alignment:alignof
,alignas
,std::align
,std::max_align_t
470.
std::static_pointer_cast
,std::dynamic_pointer_cast
,std::const_pointer_cast
,std::reinterpret_pointer_cast
471.
std::integer_sequence
,std::index_sequence
472.
iostream
unformattedI/O
473.
Non-type template arguments475.
std::thread
476.
Pack indexing477.
std::ranges::elements_of
478.
default-constructible lambdas
These posts are long-form articles on various C++-related topics.
6.
Error handling18.
Tree traversal algorithms27.
Integral and floating-point numbers41.
Tech debt is bad, m'kay?!48.
Modern C++ documentation tools140.
Linked lists384.
Hardened mode of standard library implementations411.
Implementing custom C++20 views441.
Coroutines: step by step; a journey through seven coroutine types474.
Optimizing code to run 87x faster
These posts are common interview problems with a CE link for solving the problem yourself and a separate CE link with a commented solution.
2.
Trapped Water7.
Bouncing ball9.
Smallest missing positive integer14.
Column-order traversal16.
Merging sorted lists21.
Maximum path in a tree23.
Edit distance28.
Maximum in a sliding window30.
Longest increasing path35.
O(1) ranking data structure37.
Uncovered Intervals42.
English Numbers44.
Swinging movement49.
Sonar51.
Serialize and de-serialize an n-ary tree56.
Maximum points on a line58.
N-Queens63.
Minimum substring that contains letters65.
MaxStack data structure70.
Number validator72.
LFU cache77.
Minimum cost to equal array79.
Maximum number of books to take84.
Maximum number of invitations86.
Skyline outline91.
Shortest path with obstacle removal93.
Validating a BST98.
Lexicographically minimum string100.
Racecar105.
Remove n-th element from the back of a singly-linked list107.
Visible points112.
Partition array into two to minimize sum difference114.
Find loop in a singly-linked list119.
Reverse k-groups in a list121.
Maximum substring with unique characters126.
Median of two sorted arrays128.
Maximum profit for job schedule133.
LRU cache135.
Candy for greedy children142.
Sum of distances to all nodes147.
Smallest interval covering elements from K sequences149.
Maximum ice cream bars154.
Validate a complete binary tree156.
Bus routes161.
Sudoku Solver163.
Locked rooms168.
Maximum subarray sum170.
Counting islands175.
Bounded subarrays177.
Minimize deviation in an array182.
All valid parentheses sequences184.
Well-behaved paths189.
Spiral Traversal191.
O(1) region sum196.
Rotating a matrix198.
Palindromic substring203.
Longest cycle in a graph205.
Splitting marbles210.
Shortest path to all keys212.
Number of reorders of a BST217.
Maximum rectangle in a histogram219.
Find the singular number224.
Profitable schemes226.
Find all nodes of distance K in a binary tree231.
Top k frequent values233.
Merging intervals238.
Optimizing conference value240.
Next permutation245.
O(1) randomized container247.
Calculate h-index252.
Lowest common ancestor254.
Event booking259.
Minimum in a rotated array261.
Longest increasing subsequence266.
Count smaller elements after268.
Majority element273.
Construct a binary max-tree275.
Reverse an integer280.
Monkey eating bananas282.
Best time to buy and sell stock287.
Shortest path to visit all nodes289.
Construct binary tree from preorder and inorder294.
Lexicographically smallest subsequence that contains all unique letters296.
Largest covered interval301.
Strictly increasing array303.
Reaching the last element308.
Buildings with an ocean view310.
Finding the duplicate value315.
Maximum area between boundaries317.
Watering the garden322.
Maximum subsequence dot product324.
Maximum number of office transfers329.
Longest string with valid parenthesis
83.
Lesson 1 - Setup & How to use90.
Lesson 2 - Basic syntax104.
Lesson 3 - Types118.
Lesson 4 - Indirection132.
Lesson 5 - Standard Library153.
Lesson 6 - Algorithms and views167.
Lesson 7 - User types
331.
Day Zero: A C++ development environment334.
Day 1335.
Day 2336.
Day 3337.
Day 4338.
Day 5339.
Day 6340.
Day 7341.
Day 8342.
Day 9343.
Day 10344.
Day 11345.
Day 12346.
Day 13347.
Day 14348.
Day 15349.
Day 16350.
Day 17351.
Day 18352.
Day 19353.
Day 20354.
Day 21355.
Day 22356.
Day 23357.
Day 24358.
Day 25