C++ &&符号的作用

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);

猜你喜欢

转载自www.cnblogs.com/1Kasshole/p/9360958.html