'C++' Category

  • C++ Method Type Deduction Tricks

    February 13, 2012

    Working on the next part of the C++ Metadata series, I decided that I didn’t like the way I was handling setters and getters for object properties. I wanted something even faster and with even less overhead while retaining the extreme simplicity of my API. I discovered some tricks (only tested in Visual Studio 2010 [...]

  • C++ Metadata – Part II, Inheritance, Dynamic Casting, and Allocation

    January 21, 2012
    This entry is part 2 of 2 in the series C++ Metadata

    In Part I in the series on C++ Metadata, I explored how to build the basics of a runtime metadata system for C++ types, including custom classes, third-party libraries’ classes, and even C++ primitives. The article detailed building the low-level facilities to have metadata, but did not cover any real-world uses of metadata. Today’s article [...]

  • C++ Metadata – Part I, Singletons and Lookup

    January 13, 2012
    This entry is part 1 of 2 in the series C++ Metadata

    Class metadata systems allow C++ applications to have a sizable fraction of the runtime reflection and introspection available in other high level languages, such as C#, Python, or Java. While C++ does not offer any true metadata system itself (excluding the nearly useless typeinfo/RTTI system, which is barely enough to handle dynamic_cast‘s needs), it’s certainly [...]

  • Custom Containers in C++11

    January 2, 2012

    C++11 has brought us a few significant language and library improvements which can make for greatly increased API ease of use and performance. Several of these features have a huge impact on how we write custom containers. Since I haven’t seen any in-depth articles on this topic, and honestly haven’t seen any truly in-depth articles [...]

  • Trivial C++ For-Each Loop for MSVC 2010

    September 20, 2011

    The new C++11 standard includes a nice new feature called range-based for. The syntax allows for simple and quick iteration over ranges, such as containers. Usage looks like so: for (int& x : my_container) {   do_something_with(i); } Pretty handy. Unfortunately, this new feature is not supported in MSVC 2010. In fact, very few C++11 [...]

  • C++ String Library Best Practices

    June 7, 2011

    String libraries have been a frequent topic of conversation lately. There’s a lot of things wrong with the C++ standard’s implementation, a lot of missing functionality, and a lot of discussion about the best ways to fix it or work around it. I’m going to go over a few suggestions that I and my fellow [...]

  • Compile-time String Hashing in C++0x

    May 28, 2011

    I have written a small demo (tested in GCC 4.6) showing how to get compile-time hashing of a string literal in C++0x.

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org