30/09/2018, 17:33

[Hỏi] 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 ạ.

Minh Hoàng viết 19:45 ngày 30/09/2018

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

Itachi Citus viết 19:34 ngày 30/09/2018

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

Cường Nguyễn viết 19:50 ngày 30/09/2018

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

Bài liên quan
0