![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
EgoBrain |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: нет Всего: 2 |
А зачем такая запись?
Чем плоха стандартная наглядная и простая
Подобная запись с перечислением после двоеточия в сигнатуре конструктора класса может быть оправдана, если задаются значения атрибутам которые сами являются объектами другого класса с наличием копирующего конструктра, например
Но здесь же int. Значит учтивая свою неопытность и авторитет предыдущего оратора, делаю вывод что здесь есть какой-то мне неизвестный смысл |
||||||||||
|
|||||||||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
EgoBrain,
1) Это способ инициализации переменной при создании, а в твоём варианте будет лишняя операция - сначала создание (без этого никуда), потом присвоение 2) Сегодня это int, а завтра какой-нибудь BigInt... В варианте mes менять нужно будет меньше -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
EgoBrain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 23.3.2008 Где: Комната Репутация: нет Всего: 2 |
borisbn, а можно подробнее?
1). То есть ты хочешь сказать что в варианте mes копия аргумента не будет созадана а занчение в mIndex просто передастся по ссылке? 2). Чего меньше менять нужно? ![]() |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
EgoBrain,
1) нет. см. п. 2) 2) http://ideone.com/v5dkzo dummy нужен для того, чтобы в этой строчке (№ 34)
ничего не печаталось Это сообщение отредактировал(а) borisbn - 3.6.2013, 22:06 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
Для int'а будет не "very very long operation", а "very very short operation", но если таких объектов будет создаваться много, то это будет отнимать время
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
да дело даже не во времени.. тем, что эта наглядная форма задает очень много вопросов : А есть ли конструктор по умолчанию ? а можно ли заменить инициализацию присваиванием ? а в том ли порядке инициализируются присваиваются переменные? а какое поведение обьекта при присваивании ? и т.д. Конечно учитывая, что раздел новичков, можно было написать и в "стандартной" форме, но сработала привычка.. зачем так далеко ходить ? EgoBrain, пометьте mIndex как const и испробуйте "стандартную" форму записи ![]() Добавлено через 1 минуту и 40 секунд для анализа этой мысли требуется время, которое лучше потратить на что нибудь более полезное ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |