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