С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Вылет программы с классом своего стека - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Построение алгоритма генерирования случайного дерева http://www.cyberforum.ru/cpp-beginners/thread1074128.html
Ребят, помогите, пожалуйста, с построением алгоритма генерирования случайного дерева с использованием классов. (( Не могу придумать ничего толкового.
C++ Ребят, сделайте мне пожалууйста программирование! Мне нужно сделать до понедельника, иначе меня не допустят до экзамена вырезано] Помогите, пожалуйста Прежде чем писать на форум, ознакомьтесь с его правилами, а именно: - Одна тема - одно... http://www.cyberforum.ru/cpp-beginners/thread1074117.html
Совместимость программы C++
Создал маленькую программу и передал ее другу. (У друга windows xp) Когда он ее запустил у него вышла ошибка "путь к файлу...\Название.exe не является приложением win32" Что нужно сделать чтобы для...
C++ Необходимо перенести всю информацию, базу данных с самописного сайта на движок Joomla
Необходимо перенести всю информацию, базу данных с самописного сайта на движок Joomla. www.zveri-tut.ru перенести на www.puppy-food.ru 1. Переносится информация, базу данных. 2. Переносится...
C++ Работа с массивом. Поиск элементов и формирование одного массива из другого http://www.cyberforum.ru/cpp-beginners/thread1074094.html
Как из строк двумерного массива, в которых содержатся хотя бы два одинаковых элемента, сформировать столбцы результирующего массива? Массив произвольный, интересует часть кода.
C++ стек из произвольного кол-ва элементов 2.Составьте программу,которая создает стек из произвольного кол-ва элементов.Инф часть динамического элемента должна состоять из двух строк.Организуйте обработку каждого элемента:печать строк из... подробнее

Показать сообщение отдельно
Убежденный
Ушел с форума
Эксперт С++
15708 / 7219 / 1139
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
18.01.2014, 03:05
Цитата Сообщение от alsav22 Посмотреть сообщение
Убежденный, может пояснить, чем это, именно, лучше?
Да, безусловно. Конкретное понимание всегда лучше заученных "догм",
просто я надеюсь, топикстартер сам найдет ответы в правильных книжках.

Доводы в пользу списков инициализации.

1) Списки инициализации позволяют оптимизировать конструирование.

Если поле класса инициализируется обычным "старым дедовским" способом, через
присваивание ему значения в теле конструктора, то для него сначала вызывается
конструктор по умолчанию, а потом оператор присваивания.
Если же инициализировать поле класса с помощью списка инициализации, то оно
будет сконструировано в один присест, через соответствующий конструктор.
Обычно это конструктор копирования или другой конструктор с аргументами.
То есть, получается в итоге одна операция вместо двух.

2) Константные и ссылочные поля класса, а также конструкторы базовых классов,
можно инициализировать только с помощью списков инициализации.

Доводы против списков инициализации.

1) Поля класса инициализируются в том порядке, в котором они объявлены в классе, а
не в том, в котором они перечислены в списке инициализации. Это создает почву для
ошибок, если поля имеют зависимости друг от друга.

2) Усложняется написание безопасного по отношению к исключениям кода.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.