回答重点 什么是左值?什么是右值? 左值: 可以出现在赋值运算符的左边,并且可以被取地址,通常是有名字的变量。右值: 不能出现在赋值运算符的左边,不可以被取地址,表示一个具体的数据值,通常是常量、临时变量。 区分左值和右值的核心在于有没有持久的地址 左值: 可以取地址并且有名字的东西就是左值。右值: 不能取地址的没有名字的东西就是右值。 示例: int a = b + c; 这里 a
std::vector 是 C++ 标准库中的动态数组,提供了许多方便的函数来操作数组。以下是 std::vector 的常用函数及其使用方法: 构造函数 vector():默认构造函数,创建一个空的 vector。vector(size_t n):创建一个包含 n 个默认初始化元素的 vector。vector(size_t n, const T& value):创建一个包含 n 个值为 v
面试时遇到的问题,之前的了解是浅尝辄止,但合格的程序媛应该不能止于此。 左值引用和右值引用 先理解两个概念:左值和右值。早期C语言给出的定义是:左值是一个表达式,可以出现在=的左边或右边;但右值只能出现在右边。 这个定义太模糊了。到了C++中,可以这么理解:对于一个表达式,凡是对其取地址(&)操作可以成功的都是左值,否则就是右值。 好了,下面我们看几个例子来加深下理解: int x = 4;