Почему на выходе следующей программы просто int3
, а не int3 & 4
?
#include <iostream>
class B
{
public:
explicit B(int i) { std::cout<<"int"<<i; }
B(const B& rhs, int i = 0) { std::cout<<"&"<<i; }
};
int main(int, char**)
{
B b(B(3), 4);
}
Команда: clang ++ test. cpp -O0
Компилятор: Apple clang версии 3.0 (теги / Apple / clang-211.12) (на основе LLVM 3.0svn)