C++ Glossary

This page contains a list of terms specific to C++ community. I do not aim at this to be complete. There are certain terms used in C++ community that I have never seen comprehensively defined. This page collects them.

Small Buffer Optimization

An optimization technique often used for types implemented as a small handle to a bigger heap-allocated implementation (e.g. std::string). If the “implementation” part happens to be smaller than the size of the handle, rather than using heap allocation, it can be put in the place of (instead of) the handle. For a more detailed example see here.

Type Erasure

A technique of programming where all family of types are converted into one type (with common interface), so that one function can handle all of the different types without having to know them. For more see here.

Value Semantics

A way of writing programs, where programmers focus on values carried by objects rather than objects and their identities. This is somewhere in between imperative programming and functional programming; very useful in multi-threading as it avoids data races. For more see here.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s