面试官:什么是左值,什么是右值?
二师兄:简单来说,左值就是可以使用&符号取地址的值,而右值一般不可以使用&符号取地址。
二师兄:一般左值存在内存中,而右值存在寄存器中。
二师兄:严格意义上分,右值分为纯右值(pvalue)和将亡值(xvalue)。C++中,除了右值剩余的就是左值。
面试官:C++98/03中已经有了左值,为什么还要增加右值的概念?
二师兄:主要是为了效率。特别是STL中的容器,当需要把容器当作参数传入函数时:
完美转发知道吗?当我们需要在function中传递t参数时,如何保证它的左值或右值语义呢?这时候完美转发就登场了:
关注我,带你21天“精通”C++!(狗头)
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |