LINUX.ORG.RU

[english] как называются такие конструкторы?

 


0

0
struct Point {
  int x, y;
  Point(int x_, int y_): x(x_), y(y_) {}
};

А еще лучше киньте ссылку на статью, где считали процент таких конструкторов в довольно большом куске кода (ЕМНИП че-то из проектов apache foundation) и насчитали порядка 30%. (Я вот найти ее хочу, да забыл как эти конструкторы там называли :-()

Ответ на: комментарий от LamerOk

> initialization list

нет.

trivial constructor

default constructor

????????? constructor

ну или подскажите, где у гугля посмотреть 100-200 самых частых слов, юзаемых в поиске вместе с данным словом

www_linux_org_ru ★★★★★
() автор топика
Ответ на: комментарий от Sphinx

Чё ты меня-то спрашиваешь? Это не я их придумал.

LamerOk ★★★★★
()
Ответ на: комментарий от www_linux_org_ru

ну или подскажите, где у гугля посмотреть 100-200 самых частых слов, юзаемых в поиске вместе с данным словом

fucked cplusplus

wfrr ★★☆
()
Ответ на: комментарий от Sphinx

Вызывать конструктор(ы) parent класса?
Вообщем-то ты сам ответил на свой вопрос.

Raving_Zealot ★★
()
Ответ на: комментарий от www_linux_org_ru

Ты еще не убедился на собственном опыте что от синтаксического сахара слипается в жопе?

wfrr ★★☆
()
Ответ на: комментарий от Sphinx

> В чём их смысл, кроме упрощённой нотации и возможности инициализировать константные члены?

когда тело конструктора начинается, то все подобъекты и базовые классы должны быть сконструированы. По умолчанию для них вызываются дефолтные конструкторы. Если они сложные/неинлайновые, то это потеря производительности, если ты их все равно изменишь. А во вторых, у них просто может не быть дефолтного конструктора. Чтобы вызвать недефолтный, и используется initialization-list.

dilmah ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.