Controlled Variables implements secure basic types in C++. It provides C++ templates that give you the ability to control the initialization of your basic C types (i.e. char, int, long long, etc.). In particular, it allows you to avoid forgetting to initialize variable members, since these variables cannot be initialized where declared. Controlled Variables can be used wherever you declare a basic type variable without immediately initializing it (and limited controlled variables where a bounded value is used).
|Tags||C++ templates secure code C++ variables|
Release Notes: This release removes some variable shadowing. It adds bool in constructors and assignment operators. There is a command line flag (--no-bool-constructors) to revert back to the previous behavior. It adds a set of templates to handle bare pointers. These can automatically be set to NULL (ptr_auto_init), forced to be initialized (ptr_need_init), or verified before usage (ptr_no_init).
Release Notes: This release fixes a macro which was named after a BOOST macro, and thus would clash with boost if used in concert. It adds a small Doxygen comment to inform users where they can find the documentation.
Release Notes: This release adds better support for cl (the Microsoft C++ compiler for Visual Studio).