Форум программистов, компьютерный форум CyberForum.ru

Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 117, средняя оценка - 4.91
RASHFor
6 / 6 / 0
Регистрация: 12.02.2012
Сообщений: 224
09.09.2012, 20:23     Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию? #1
1)Любезные,скажите когда надо исп. списки инициализации, а когда можно заменить констуктором по умолчанию?
2) правильно ли утверждение,что списки инициализации можно заменить к.по умолчанию?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2012, 20:23     Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию?
Посмотрите здесь:

Перестало выводить, когда задание списков перевел в конструкторы, когда были просто функции выводило нормально. C++
Когда создается конструктор по умолчанию? C++
C++ Когда какой контейнер использовать?
Записать условия когда является истинным , когда: C++
C++ Когда используется * перед указателями, а когда нет?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6160 / 2889 / 282
Регистрация: 04.12.2011
Сообщений: 7,689
Записей в блоге: 3
01.02.2015, 01:56     Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию? #21
Цитата Сообщение от hoggy Посмотреть сообщение
Это именно инициализация, а не присвоение.
hoggy, я написал что это инициализация с синтаксисом присвоения:
Цитата Сообщение от IGPIGP Посмотреть сообщение
А присвоение при объявлении и в теле конструктора это инициализация.
Вы стали спорить и я показал, что имел ввиду под "присвоение при объявлении " : int a = 123;

И оказалось что:
Цитата Сообщение от hoggy Посмотреть сообщение
Это именно инициализация, а не присвоение.
Давайте так: Вы правы. И всё.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
player1975
0 / 0 / 0
Регистрация: 14.04.2016
Сообщений: 3
13.09.2016, 11:04     Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию? #22
В догонку:
есть несколько типов инициализаций, но что можно сказать про эту инициализацию:
C++
1
      int i=22 ; // direct, copy? (C++98)
И чем
C++
1
        int i=22;
отличается от
C++
1
2
        int i; 
        i=22;
or
C++
1
        int i(22);
А , например,
C++
1
2
3
       Type i1;
       Type i2;
       i2=i1;
отличается от
C++
1
2
       Type i1;
       Type i2=i1;
(Type - пользовательский тип...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2016, 14:19     Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию?
Еще ссылки по теме:

Когда использовать WinAPI, а когда функции языка? C++
Когда стоит использовать класс, а когда лучше обойтись без них? C++
Объяснить (с примерами) для чего нужен RTTI, как и когда его можно и нужно использовать C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
DrOffset
6423 / 3797 / 878
Регистрация: 30.01.2014
Сообщений: 6,585
13.09.2016, 14:19     Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию? #23
Цитата Сообщение от player1975 Посмотреть сообщение
есть несколько типов инициализаций, но что можно сказать про эту инициализацию:
int i=22 ; // direct, copy? (C++98)
copy.
сокращенная запись для
C++
1
int i( int(22) );
Цитата Сообщение от player1975 Посмотреть сообщение
И чем
int i=22;
отличается от
int i;
i=22;
or
int i(22);
первое - инициализация (copy), второе - не инициализация, это присваивание, третье - direct initialization.

Цитата Сообщение от player1975 Посмотреть сообщение
А , например,
Type i1;
Type i2;
i2=i1;
отличается от
Type i1;
Type i2=i1;
Первое - это не инициализация, это присваивание.
Второе - copy initialization, как в первом примере с целыми числами.
Yandex
Объявления
13.09.2016, 14:19     Когда надо использовать списки инициализации, а когда можно заменить их констуктором по умолчанию?
Ответ Создать тему
Опции темы

Текущее время: 08:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru