[C++]左值引用与右值引用

Cplusplus
头像
vicyang
版主
版主
帖子: 53
注册时间: 2016年07月21日 20:35
拥有现金: 锁定
储蓄: 锁定
Has thanked: 7 times
Been thanked: 4 times
联系:

[C++]左值引用与右值引用

帖子 #1 vicyang » 2019年01月17日 19:47

Code: [全选] [展开/折叠] [Download] (ref_to_rvalue.cpp)
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. void test1(string&& a, string&& b)
  5. {
  6.     cout << "A:" << a << ", B:" << b <<endl;
  7. }
  8.  
  9. void test2(const string& a, const string& b)
  10. {
  11.     cout << "A:" << a << ", B:" << b <<endl;
  12. }
  13.  
  14. void test3(string& a, string& b)
  15. {
  16.     cout << "A:" << a << ", B:" << b <<endl;
  17. }
  18.  
  19. int main(int argc, char *argv[] )
  20. {
  21.     test1( string("abc"), string("123") );
  22.     test2( string("abc"), string("123") );
  23.     // test3( string("abc"), string("123") ); //error: cannot bind non-const lvalue reference of type
  24.     // &ref 是左值引用操作符,字面值常量属于右值,C++规定,右值不能传递给左值引用。
  25.     return 0;
  26. }

回到 “C/C++”

在线用户

用户浏览此论坛: 没有注册用户 和 1 访客