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_range3.conditional operator?:4.multi-dimensional subscript operator[]5.std::in_range8.std::jthread10.std::stop_source,std::stop_token,std::stop_callback11.std::partition_copy12.std::mutex13.std::recursive_mutex15.std::shared_mutex17.std::adjacent_find19.std::timed_mutex,std::recursive_timed_mutex,std::shared_timed_mutex20.std::condition_variable,std::condition_variable_any22.std::shift_left,std::shift_right24.std::barrier25.std::unique,std::unique_copy26.std::promise,std::future29.std::inplace_merge31.std::scoped_lock32.std::to_underlying33.std::call_once34.std::tuple36.consteval38.if consteval {}39.std::iter_swap40.std::nth_element43.std::move_iterator45.std::all_of,std::any_of,std::none_of46.std::strong_ordering,std::weak_ordering,std::partial_ordering47.std::bitset50.std::compare_strong_order_fallback,std::compare_weak_order_fallback,std::compare_partial_order_fallback52.std::make_heap,std::push_heap,std::pop_heap,std::sort_heap53.std::span54.std::min,std::max,std::minmax55.std::iota,std::views::iota57.std::shuffle59.Opaque enum declarations60.std::for_each,std::ranges::for_each61.Monostate pattern62.Correctly calling custom implementation ofstd::swap64.std::variant66.std::visit,std::variant67.Defaulted comparison operators, spaceship operator68.std::transform_reduce69.cv- and ref-qualified member functions71.Selective copy:std::copy_if,std::remove_copy_if73.std::chrono- measuring time74.std::chrono- representing dates75.std::chrono- C++20 relative "pseudo-dates"76.std::chrono- time zones78.std::spanstream80.std::views::repeat81.std::views::cartesian_product82.std::views::stride85.std::unique_ptr- wrapping opaque pointers87.std::partial_sort_copy88.User-defined literals89.std::views::chunk_by92.std::counted_iterator94.std::views::slide95.std::exchange96.std::views::as_rvalue97.staticoperator()99.std::front_inserter,std::back_inserter,std::inserter101.Optional valuesstd::unique_ptr,std::optional102.Integer literals103.std::views::join106.std::current_exception,std::exception_ptr,std::rethrow_exception108.std::views::chunk109.inline namespace110.std::optionalaccessing value111.overridespecifier113.[[nodiscard]]attribute - basic use115.std::transform116.std::views::zip117.Dependency injection120.Type tagging122.std::ranges::contains,std::ranges::contains_subrange123.std::lower_bound,std::upper_bound124.std::ranges::fold_left,std::ranges::fold_left_first,std::ranges::fold_right,std::ranges::fold_right_last125.init statements (if, switch, range-loop)127.std::views::adjacent,std::views::pairwise129.[[no_unique_address]]130.std::endian131.std::views::keys,std::views::values134.std::find,std::find_if,std::find_if_not136.std::views::enumerate137.std::ranges::fold_left_with_iter,std::ranges::fold_left_first_with_iter138.Getter method singleton139.std::views::transform141.Projection support instd::ranges143.std::function144.std::views::zip_transform145.std::move_only_function146.Raw string literals148.std::ranges::find_last,std::ranges::find_last_if,std::ranges::find_last_if_not150.std::this_thread151.constexpr if152.std::views::join_with155.std::views::as_const157.std::async158.std::quoted159.Integer literal bases160.std::next,std::prev162.Structured bindings164.std::views::common165.std::stringliterals166.std::variant-std::monostate169.Unnamed / Anonymous namespaces171.std::views::drop,std::views::drop_while172.std::plus,std::minus,std::multiplies,std::divides,std::modulus,std::negate173.Compositing C++20 views174.std::rotate176.[[nodiscard]]for types and constructors178.std::views::reverse179.std::addressof180.Range-based for-loop as a replacement for raw for-loops.181.Inheritance:finalspecifier183.Class Template Argument Deduction - CTAD185.Deduction guides for CTAD186.std::includes187.Nested Namespaces188.std::views::filter190.std::optional- monadic interface192.std::any193.std::sort194.std::midpoint195.std::views::take,std::views::take_while197.explicitkeyword199.std::replace,std::replace_if200.typeidoperator,std::type_info201.std::type_index, Boosttypeindexlibrary- LinkedIn, Mastodon
- Medium, Substack
- Compiler Explorer:
std::type_index,boost::typeindex
202.std::min_element,std::max_element,std::minmax_element204.std::filesystem::path,std::filesystem::directory_iterator206.std::partition,std::stable_partition207.std::sample208.std::deque209.std::views::adjacent_transform211.std::gcd,std::lcm213.std::remove,std::remove_if214.std::list,std::forward_list215.std::erase,std::erase_if216.std::initializer_list218.Curiously Recurring Template Pattern (CRTP)220.Argument Dependent Lookup (ADL)221.std::expected222.std::views::counted223.Customization objects: ADL + Niebloid225.std::binary_search227.std::equal_to,std::not_equal_to,std::greater,std::less,std::greater_equal,std::less_equal,std::compare_three_way228.std::is_sorted,std::is_sorted_until229.std::array230.std::uninitialized_copy,std::uninitialized_fill,std::uninitialized_move,std::uninitialized_value_construct,std::uninitialized_default_construct,std::destroy232.std::binary_semaphore234.std::priority_queue235.std::source_location236.std::invoke237.Lexicographical comparison with containers239.std::transform_inclusive_scan,std::transform_exclusive_scan241.std::lexicographical_compare,std::lexicographical_compare_three_way242.File manipulation usingstd::filesystem243.std::stable_sort244.std::lerp246.std::shared_future248.std::numbers249.iostream: error handling250.std::reverse251.std::queue253.std::search255.std::iostreamcustom manipulators256.std::advance,std::distance257.std::string_view258.Conditionalexplicitspecifier260.<iosfwd>262.std::stoi,std::stol,std::stoll,std::stoul,std::stoul,std::stof,std::stod,std::stold263.std::to_address264.std::not_fn265.Overload selection: functions vs. function templates267.[[deprecated]]269.std::packaged_task270.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_if274.std::enable_shared_from_this276.auto(),auto{}277.std::set_union,std::set_intersection,std::set_difference,std::set_symmetric_difference278.Mixing integral and floating point types279.std::reverse_iterator281.Explicit object parameter (a.k.a. deducingthis)283.Trivially copyable types284.<bit>285.Capturingthis286.std::clamp288.std::istream_iterator,std::ostream_iterator290.std::allocatorand custom allocators291.std::accumulate,std::partial_sum292.Implementing custom allocators293.std::future<void>,std::shared_future<void>295.The PMR (Polymorphic Memory Resource) library297.std::partition_point298.Implementing allocator-aware types299.std::move300.std::inner_product302.Integral promotions304.Integral conversions (same signedness)305.Integral conversions (different signedness)306.std::stacktrace307.std::vector309.Reducing implicit conversions with Concepts311.Partial ordering of constrained function overloads312.Implementing a custom concept313.container::contains()314.std::adjacent_difference316.Type erasure: inheritance318.Type erasure: PIMPL319.Type erasure:void*320.std::mismatch321.std::ranges::subrange323.thread_local325.C++20 spaceshipoperator<=>vs equality326.[[assume(expr)]];327.std::views::istream328.Parameter pack330.Fold expressions332.std::as_const333.emplace,emplace_back,emplace_front359.std::ranges::to360.std::bit_cast361.std::equal,std::is_permutation362.std::ssize,std::ranges::ssize363.std::unique_ptr364.std::expectedmonadic interface365.std::next_permutation,std::prev_permutation366.Fundamental types367.std::copy,std::copy_backward368.Aggregate initialization369.Designated initializers for aggregate initialization370.std::generator371.std::string(_view)::starts_with,std::string(_view)::ends_with372.Ordered containers:std::(multi_)map,std::(multi_)set373.Handling required fields with designated initializers374.std::string375.std::print,std::println376.Inline variables377.std::reduce378.std::error_code,std::error_category379.Domain-specific errors usingstd::error_code380.Safe integral comparisons381.Rule of Zero382.std::osyncstream383.std::stack385.Unscopedenum386.Scopedenum387.std::bind_front388.std::out_ptr,std::inout_ptr389.std::find_first_of390.Standard layout types391.std::fill,std::generate392.std::numeric_limits393.decltype394.std::declval395.std::merge396.Dependent names397.std::byteswap398.std::latch399.Explicit/Full template specialization400.std::search_n401.autotype deduction402.std::move,std::move_backward403.Heterogenous lookup in ordered containers404.std::reverse_copy405.decltype(auto)406.std::find_end407.std::bind_back408.std::partial_sort409.Heterogenous lookup in unordered containers410.std::from_chars412.std::swap_ranges413.Saturation arithmetic414.std::exit,std::atexit415.std::format_to,std::format_to_n416.std::getenv417.Concepts are template arguments418.std::forward419.std::replace_copy,std::replace_copy_if420.std::shared_ptrbasics421.std::views::elements422.std::invoke_r423.Placeholder name_424.Implementing custom memory resources425.std::unreachable426.std::weak_ptr427.std::istreambuf_iterator,std::ostreambuf_iterator428.std::forward_like429.std::tie,std::ignore430.std::reference_wrapper,std::ref,std::cref431.LRU cache usingstd::shared_ptr432.std::views::all433.std::logical_and,std::logical_or,std::logical_not434.std::quick_exit,std::at_quick_exit,std::_Exit435.std::ranges::starts_with,std::ranges::ends_with436.std::mdspan437.std::format438.Constexpr vs Undefined Behaviour439.Constraining onnoexcept440.std::make_unique_for_overwrite,std::make_shared_for_overwrite,std::allocate_shared_for_overwrite442.std::counting_semaphore443.std::pair444.Testing with ZOMBIES445.Exceptions446.std::async,std::launch447.std::views::split,std::views::lazy_split448.std::rotate_copy449.std::formatted_size450.std::unordered_map,std::unordered_set,std::unordered_multimap,std::unordered_multiset451.std::hardware_destructive_interference_size,std::hardware_constructive_interference_size452.std::bind453.Statically sizedstd::span454.std::complex455.std::inclusive_scan,std::exclusive_scan456.Partial template specialization457.Custom formatters forstd::format458.std::stringstream459.Exception guarantees460.tuple-like,pair-like461.Member function call resolution462.Virtual member functions463.Move-only type mixin464.std::to_chars465.Covariant return types466.std::bit_and,std::bit_or,std::bit_xor,std::bit_not467.std::atomic<std::shared_ptr>,std::atomic<std::weak_ptr>468.mainfunction469.alignment:alignof,alignas,std::align,std::max_align_t470.std::static_pointer_cast,std::dynamic_pointer_cast,std::const_pointer_cast,std::reinterpret_pointer_cast471.std::integer_sequence,std::index_sequence472.iostreamunformattedI/O473.Non-type template arguments475.std::thread476.Pack indexing477.std::ranges::elements_of478.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