Fekir's Blog
Categories
Keywords
About Me
Policies
2025-01-07 : Design a short string class
2024-10-18 : Register function at link time
2024-09-29 : A C++ test suite in 100 lines of code
2024-09-20 : Virtual functions, overloads, and default parameters - pick one
2024-09-11 : Conditional compilation
2024-08-25 : Query the number of elements in an array
2024-06-01 : Self-hashing code in C++
2024-03-31 : Lazy initialization, an alternative to double-checked locking
2024-02-17 : Generic owning type erasure
2024-02-10 : Introduce chrono in an existing codebase
2024-02-01 : Query properties of a class
2024-01-11 : Destructure a C++ function
2023-12-06 : Owning type erasure for simple types
2023-11-21 : Execute a function after a return statement
2023-11-15 : Comma operator in C++
2023-10-10 : Detect transparent comparators
2023-10-07 : Insert an element in a map efficiently
2023-09-14 : Prefer function overloads to std::variant
2023-08-26 : Mapping types in C++
2023-07-31 : Dependency injection in CMake
2023-06-01 : CMake, MSVC, and Ninja
2023-05-11 : Force null checks
2022-12-19 : dynamic_cast and multiple inheritance
2022-12-10 : Magic numbers for runtime checks
2022-11-25 : Micro-optimizations
2022-10-22 : When you cannot call hidden friends in C++
2022-10-15 : How to write friend functions
2022-09-19 : decltype on a temporary lambda
2022-09-04 : Type erased view types in C++
2022-08-16 : Find and fix code smells in C++ with regexes
2022-07-04 : Toolchain file in CMake
2022-06-15 : Undefined behavior - the ugly
2022-06-04 : Write a custom virtual table in C++
2022-03-04 : Analyze configure times with CMake
2022-01-30 : Analyze build times with clang
2022-01-11 : How to declare function pointers
2021-12-10 : Toolbox of a GNU/Linux C++ programmer
2021-10-30 : Compile-time string operations
2021-10-24 : Macros usages in C++
2021-09-24 : A minimal C++ development environment
2021-09-16 : Guaranteed copy elision
2021-08-09 : constexpr tree structures
2021-08-03 : constexpr linked list
2021-07-25 : natstepfilter
2021-06-25 : Natvis files
2021-06-12 : std::span, the missing constructor
2021-06-05 : Less assembly does not mean faster code
2021-05-28 : Clang-tidy on Windows
2021-04-21 : Deducing return types in C++
2021-03-15 : Linker error with static member variable
2021-01-27 : Namespace vs struct
2021-01-10 : Decomposing an expression
2021-01-03 : C++ performance guidelines
2020-12-17 : string_view(s)
2020-10-05 : How to force return value optimization
2020-10-01 : Thoughts on public virtual inheritance
2020-08-28 : Restrict interface with private inheritance
2020-08-17 : Library dependency graphs in CMake
2020-08-01 : The private implementation pattern (PIMPA)
2020-07-25 : Extending the generic thread-safe mutexed_obj class
2020-07-13 : How to envelop a class with suffixes and prefixes and discover properties fields in C++
2020-07-07 : We already have uniform initialization, stop proposing braced initialization as a solution for everything
2020-01-13 : chroot as docker alternative for building
2019-12-17 : Docker process creation overhead when compiling
2019-10-21 : Name your conversions
2019-09-30 : Custom static analysis with Cppcheck
2019-09-23 : Test failures in C++
2019-09-16 : Tracing with GCC
2019-09-09 : fmove
2019-09-02 : Post-build static analysis - pfunct and pahole
2019-08-26 : Post-build static analysis
2019-08-18 : Global variables in C++ libraries
2019-06-30 : Arcane C++ rules, namespaces and overloads
2019-06-17 : Detect member variables since C++11
2019-03-05 : Sharing data between threads
2018-11-20 : Deprecate and delete
2018-09-04 : Function poisoning in C and C++
2018-04-07 : Floating in C++ - part 7 - Runge-Kutta
2018-02-06 : Floating in C++ - part 6 - Approximating the Solution to the Cauchy Problem
2017-12-12 : Floating in C++ - part 5 - Linear algebra
2017-11-20 : Floating in C++ - part 4 - Testing
2017-09-24 : Floating in C++ - part 3 - Integration
2017-09-13 : Floating in C++ - part 2 - Interpolation
2017-08-27 : Floating in C++ - part 1 - Root problem
2017-08-19 : Floating in C++
2017-07-20 : C++ comparison operators