Re: Explicit initialization
От: Bell Россия  
Дата: 17.06.08 15:16
Оценка:
Здравствуйте, Were, Вы писали:

W>Я конечно понимаю, что там создается временный объект, но компилятор ведь все равно это оптимизирует )

Да, имеет право, но класс все равно должен быть copy-constructable

12.2/1
...
even if the copy constructor is not called, all the semantic restrictions, such as accessibility (clause 11), shall be satisfied.
...


W>Вообщем хочется запретить создавать неявно временные объекты и разрешить все остальное.

Насчет инициализации копированием, т.е. записи вида
ExplicitTest TestObj2 = 0;

ничего не выйдет, если конструктор ExplicitTest::ExplicitTest(int) объявлен как explicit.
Что еще из "всего остального" тебе мешает?
Любите книгу — источник знаний (с) М.Горький
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.