cplusplus.co.il

Archive for October 2009

Suppose we wanted to check the sizeof or the offset of a certain member within our struct (or class), without actually having an instantiated object to run the needed operations on. How would you do that?

Read the rest of this entry »

I have spent quite a few hours during the last two days making thorough changes to this blog.

One of those new updates is the change of the previous blog name, “c++ talk” (at https://cpptalk.wordpress.com), to the new name “cplusplus.co.il” –  followed by the addition of a new domain name: http://cplusplus.co.il.
However, it is important to note that the blog will remain fully reachable through the old wordpress domain and its links.

Read the rest of this entry »

I’ve finally had a little time to advance with reading Alexandrescu’s book on Modern C++ design, and I’m absolutely blown away by the sheer awesomeness of its ideas. I highly recommend getting this book!

I would like to show just a little bit of what we can do with template specialization when it comes down to meta programming.

Read the rest of this entry »

This is actually not a typo, I really meant to repeat the first word. Let’s see what template template parameters are..

Read the rest of this entry »

Both std::cin and std::cout provide a conversion to a void* type, but not to a boolean:

operator void* (); // zero if and only if fail()

What use does a conversion to a boolean have, and which pitfalls does the current implementation save us from?

Read the rest of this entry »

In this post I will introduce a common problem you are likely to bump into when inheriting from templated base classes.

Read the rest of this entry »

C++ provides a mechanism that allows any function to declare exactly which exception types it may throw, and these declerations are actually enforced in runtime. We will review exactly how this mechanism works, and why it is usually left unused.

Read the rest of this entry »