Способы сотворения:
int temp = (int)0x00; // Standard C-style cast
int temp = int(0x00); // Function-style cast
int temp = static_cast<int>(0x00); // C++ style cast, which is clearer and safer
int temp = reinterpret_cast<int>("Zero"); // Big-red-flag style unsafe cast
Самое интересное в static_cast и reinterpret_cast в том, что хороший компилятор предупредит вас, если вы используете их неправильно, по крайней мере, в некоторых сценариях.
Например, Visual Studio 2005 выдаст ошибку, если вы попытаетесь повторно интерпретировать 0x00 в int, потому что это преобразование доступно безопасным способом. Фактическое сообщение: «Преобразование является допустимым стандартным преобразованием, которое может быть выполнено неявно или с использованием static_cast, приведения типа C или приведения в стиле функции».