Я использую g ++ в Ubuntu 10.10 (64-битная версия), если операционная система вообще имеет отношение к делу.Я увидел что-то странное, поэтому я решил проверить, и по какой-то причине этот код
#include <iostream>
int main()
{
int a;
std::cout << a << std::endl;
return 0;
}
всегда печатает 0. Очевидно, что g ++ автоматически инициализирует неинициализированные переменные с их соответствующим нулевым значением.Дело в том, что я хочу отключить эту функцию или, по крайней мере, заставить g ++ показывать предупреждение об использовании неинициализированных переменных, так как мой код не будет хорошо работать, например, при компиляции в VS.Кроме того, я почти уверен, что стандарт C ++ гласит, что переменная, которая неявным образом не инициализируется каким-либо значением, имеет неопределенное значение среди всех возможных значений, которые на самом деле должны отличаться при каждом выполнении программы, поскольку разные частиоперативная память используется каждый раз, когда она выполняется.
Явный вопрос: есть ли способ заставить g ++ показывать предупреждения для неинициализированных переменных?