Ryonald Teofilo

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 Medium
image

Writing 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 →
image

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 →
image

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 →
image

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 →
image

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 →
image

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 →
image

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 →
image

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 →
image

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 →
image

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 →