void test(int && val)
{
val=4;
}
void main()
{
test(1);
std::cin.ignore();
}
是当test
被称为int
创建或通过默认在C++文字是int
类型?文字和右值参考
void test(int && val)
{
val=4;
}
void main()
{
test(1);
std::cin.ignore();
}
是当test
被称为int
创建或通过默认在C++文字是int
类型?文字和右值参考
请注意,您的代码将使用C++ 11编译器编译只有。
当通过一个整体的文本,这是通过int
类型的默认情况下,除非你写1L
,创建int
类型的一个临时对象,其被绑定到函数的参数。这就像从以下初始化的第一:
int && x = 1; //ok. valid in C++11 only.
int & y = 1; //error, both in C++03, and C++11
const int & z = 1; //ok, both in C++03, and C++11
调用测试时创建值为1的int。文字按其形式输入。例如,1是一个int,1.0是一个double,“1”是一个字符串。
''1“'是一个'char const [2]'。 –
这是一个字符串。 :-) –
虽然这很误导。 “”1“的类型不是”字符串“,并且没有基本的”字符串“类型;如果有的话,大概'1“和'”11“'将会有相同的类型,但是它们不会。 –
如果是这样'测试(INT&VAL)'? –
在调试模式下,代码不能编译... – Gob00st
MSV10中至少编译代码 – Guillaume07