Khai báo vector<int>&& có ý nghĩa gì?

Như title ạ. Các anh/chị nào rành về C++ thì giải thích giúp e khai báo vector&& có ý nghĩa gì với ạ!

EDIT:
Sau một hồi lọ mọ google thì e đã tìm ra sự khác biệt rồi ạ. Nếu có thể thì xin admin xóa post này cho e với ạ.

Bạn cứ trình bày những gì mình tìm hiểu được :smile: các thành viên sẽ học hỏi thêm

1 Like

Đã xài vector rồi lại còn xài con trỏ, lạ nhỉ, mình thường xài vector< vector< int>>

1 Like

Theo như em tham biết thì int& dùng cho lvalue, int&& dùng cho rvalue => tương tự vector& và vector&&. Em có 3 function như thế này:

void func(int i)
{
....
} 

void func2(int& i)
{
...
}

void func3(int&& i)
{
...
}

function thứ nhất chấp nhận cả rvalue và lvalue:

func(n); //OK, lvalue
func(7); //OK, rvalue

function thứ 2 thì chỉ có lvalue được chấp nhận, ko chấp nhận rvalue:

func2(n); //OK, lvalue
func2(7); //ERROR, rvalue

function thứ 3 thì chấp nhận rvalue, ko chấp nhận lvalue:

func3(n); //ERROR, lvalue
func3(7); //OK, rvalue

Nguồn:
https://www.quora.com/What-is-the-difference-between-int-int-and-int-as-function-arguments qua câu trả lời của Sergey Zubkov

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?