Re[13]: Инициализация в условии
От: Lorenzo_LAMAS  
Дата: 03.08.05 12:18
Оценка:
Здравствуйте, SergeCpp, Вы писали:

SC>Здравствуйте, Lorenzo_LAMAS, Вы писали:


SC>...


SC>>>К сожалению, НЕ идентична...

L_L>>Если вас не затруднит, посмотрите для начала приведенную мною в этом обсуждении цитату из стандарта, после этого, продолжим (если будет охота)

SC>Да, признаю, в этом случае, вероятно, так

SC>(не пишу "наверняка так", потому что мне нужно думать -
SC>ну торможу помаленьку...)

SC>Но самое главное, из за чего мой вопрос возник — у меня НЕ "same class"...


я был осторожен и написал "при таких типах объектов"
У тебя все объекты типа

SomeType a( 1 );
SomeType b ( a ); // семантика этих двух строк
SomeType c = a; // сильно отличается


SC>"...if the function is a constructor,

SC>the call initializes a temporary of the destination type..."

а вот этот фрагмент-то относится к случаю, когда инициализатор (source) имеет не тот тип, что destination

SC>Вот в чём мой страх, несмотря на


SC>"...In certain cases, an implementation is permitted to eliminate

SC>the copying inherent in this direct-initialization by constructing
SC>the intermediate result directly into the object being initialized..."

это относится к виду

SomeType a = 1;

Здесь может быть просто вызов SomeType::SomeType(int)
и не быть создания промежуточнух копий, но это не относится к тому примеру, к которому я пристал
SC>С уважением, Сергей Смирнов

SC>P.S. Ничего личного — это ТЕХНИЧЕСКИЙ вопрос (НЕ мой выпендрёж)
Of course, the code must be complete enough to compile and link.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.