Ответ 1
Я тоже так думаю. Попробуйте это
ConstRef::ConstRef(int ii): i(ii), ci(i), ri(i) { }
Я изучаю С++ Primer 4th edition Стэнли Б. Липпман. В разделе 12.4.1, когда автор говорит о инициализаторах конструктора, он приводит этот пример:
class ConstRef {
public:
ConstRef(int ii);
private:
int i;
const int ci;
int &ri;
};
// OK: explicitly initialize reference and const members.
ConstRef::ConstRef(int ii): i(ii), ci(i), ri(ii) { }
Я подозреваю, что это может привести к зависанию ссылки ri
, указывающей на ii
, что является временным. Я прав?
Я тоже так думаю. Попробуйте это
ConstRef::ConstRef(int ii): i(ii), ci(i), ri(i) { }