我正在使用msvc 2013.我有以下代码:
#include <iostream>
struct A
{
A(void)
{
std::cout << "A()" << std::endl;
}
A(const A& a)
{
std::cout << "A(const A&)" << std::endl;
}
A(A&& a)
{
std::cout << "A(A&&)" << std::endl;
}
static void foo(const A& a)
{
std::cout << "Foo" << std::endl;
}
};
int main(void)
{
A::foo(A(A()));
int i = 0;
std::cin >> i;
}
当我运行程序时,忽略了结构A的复制和移动构造函数。我真的不明白这个案子。输出为:&#34; A()Foo&#34;