Здравствуйте, CRT, Вы писали:
CRT>Поэтому это не очевидно — то есть непонятно на первый взгляд — в таком синтаксисе, что
CRT>CRT>A obj=A(1024);
CRT>
CRT>равно
CRT>CRT>A obj(1024);
CRT>
А они и не равны...
Попробуй скомпилировать...
class A {
A(const A&);
public:
int Data;
A(int i = 0) : Data(i) {}
};
A obj = A(1024);
По С++ компилятор в такой штуке имеет право выбрасывать конструктор копии, так же, как и при RVO/NRVO, но не имеет права не проверять его доступность...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском