| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Гарантия инициализации полей класса. |
| Автор: semibug 8.9.2012, 23:37 |
| Ищу способ гарантировано проинициализировать все поля класса кроме явно заданых. Например метод reset устанавливает класс в какое-то исходное состояние, и в нем явно прописано присваивание значений по умолчанию. В результате модификации класса, при добавлении новых полей можно забыть добавить инициализацию в reset. |
| Автор: feodorv 9.9.2012, 01:25 |
| Вот http://forum.codenet.ru/q44763/%D0%9D%D0%B0%D0%B8%D0%B1%D0%BE%D0%BB%D0%B5%D0%B5+%D1%8D%D0%BB%D0%B5%D0%B3%D0%B0%D0%BD%D1%82%D0%BD%D0%BE%D0%B5+%D0%BE%D0%B1%D0%BD%D1%83%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5+%D1%87%D0%BB%D0%B5%D0%BD%D0%BE%D0%B2+%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0+%D0%BF%D1%80%D0%B8+%D0%B8%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8 смотрели? |
| Автор: borisbn 9.9.2012, 09:30 | ||
жесть.
так лучше не делать. сегодня у вас структура/класс POD, а завтра вы в него вектор или строку вставите. semibug, пользуйся статическими проверками типа http://www.viva64.com/ru/pvs-studio/ или http://cppcheck.sourceforge.net/ первые - платные (и нехило), но удобные и чего-то у них с сайтом... не открывается. надеюсь временно вторые - бесплатные, но настраивать захекаешься... я, правда, настроил и норм. работает. как раз выдаёт ворнинг на неинициализированные поля структуры/класса |
| Автор: feodorv 9.9.2012, 13:08 |
Это http://forum.vingrad.ru/forum/topic-225220.html. Там в конце есть решение через дефайны. Но да, жесть. |
| Автор: Gluttton 9.9.2012, 13:24 |
В основном все упирается в указание путей к include'ам. |
| Автор: borisbn 9.9.2012, 22:38 |
| > В основном все упирается в указание путей к include'ам. А также к исходникам, если они не в том же каталоге, что и проект |