Dev Blogs
Welcome to my blog, where I write my thoughts and ideas around software development. Feel free to visit my Medium profile to share your comments.
Go to My MediumWriting Stable APIs with pImpl and Fast pImpl in C++
If you’re anything like me who struggled with acne growing up, you may have also mistaken pImpl idiom as some clever wordplay on the facial...
Read more →
Atomics in C++ — CAS and Memory Order
Continuing from the last post, we discussed atomic read, write and read-modify-write. However, we have yet to discuss arguably the most...
Read more →
Atomics in C++ — What is a std::atomic?
The radioactive part of C++, std::atomic was added in C++11 as a way to declare an atomic variable - a variable whose value changes...
Read more →
Cache Line Alignment in C++ — How It Makes Your Program Faster
As discussed in Memory and Data Alignment in C++, memory alignment is commonly used for optimisation. One of the methods is cache line...
Read more →
Data Structures in C++ — STL Containers
Understanding data structures and how they are manipulated as we add, remove and modify data is important to help make better decisions when writing code. Choosing the right data structure depending...
Read more →
Memory and Data Alignment in C++ — What is Misaligned Access?
Data or memory alignment is a significant concept in software development that surprisingly is not discussed often. Mostly because of how...
Read more →
Inline in C++ — What it has to do with the One Definition Rule.
The inline keyword has got to be the most misunderstood keyword in C++. I remember when I first started, most online sources solely...
Read more →
Copy and Move Elision in C++ — What is RVO/NRVO?
Copy and move elision is an optimisation technique used by many C++ compilers to avoid unnecessary copying and moving of temporary variables. This speeds up processes that may otherwise be slow and...
Read more →
Template type deduction in C++ — Behind the magic.
Template programming is a powerful built-in feature of C++ that most developers neglect to take the time to truly understand — mostly because it “just works”. However, it is important to be cognizant of the...
Read more →
Static and Extern in C++ — What it really does to your program?
C++ is a popular programming language, but it is also known to be difficult to grasp. One of the obscure concepts in the language is the...
Read more →