Доброе время суток,
в новых g++ (> 3.3.4) член класса по умолчанию не инициализируется.
Это баг, особенность дебиана или так и должно быть?
Если я правильно перевел стандарт, то "обычные" типы должны быть
автоматически проинициализированны в 0.
Пример:
#include <iostream>
class A
{
public:
int i;
double d;
};
using namespace std;
int main (int argc, char * argv[])
{
A a;
cout<<a.d<<" "<<a.i;
return 0;
};
g++ -v; g++ -o test test.cc && ./test
gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)
6.43534e-317 0
gcc version 3.3.4 (Debian 1:3.3.4-13)
-1.99768 1076069920
gcc version 3.4.2 (Debian 3.4.2-2)
-1.99768 1076164128
Спасибо
Ответ на:
комментарий
от idle
Ответ на:
комментарий
от fghj
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум вопрос по C++ (2014)
- Форум [C++] Перегрузка new и delete в производном классе (2011)
- Форум Не компилируется программа :( (2008)
- Форум C++/exceptions - деление на ноль не ловиццо, почему? (2006)
- Форум C++ простая программа (2014)
- Форум Баг в gcc? (2010)
- Форум Проблема с компиляцией простейшего кода на GCC 4.5.2 (2012)
- Форум `cout.operator<<()` vs `cout << ` (2013)
- Форум С++ размышление об указателях на члены-переменные структур/классов (2020)
- Форум constexpr массивы в c++ (2018)