C++ &&符號的作用
void pushBack(T& data){
if(size>=capacity)
return;
addr[size] = data;
++size;
}
void pushBack(T&& data){
if(size>=capacity)
return;
addr[size] = data;
++size;
}
假設上面兩個函數是你自定義的容器類里的插入元素函數,第一個pushBack的參數類型后有一個 &
,代表傳參只能傳左值;第二個pushBack是 &&
,是C++一個新特性,代表只能對右值取引用。 舉個例子:
int a = 10,b = 20,c = 30,d = 40;
//傳入左值
array.pushBack(a);
array.pushBack(b);
array.pushBack(c);
array.pushBack(d);
//傳入右值
array.pushBack(50);
array.pushBack(60);
array.pushBack(70);
array.pushBack(80);