首页 > 试题广场 >

以下 C++中 vector 的初始化写法哪个是错误的:

[单选题]
C++17 中,以下 C++ vector 的初始化写法哪个是错误的:
  • std::vector(4,2)
  • std::vector{4,2}
  • std::vector A = (4,2)
  • std::vector<br>A = {4,2}
vector容器不指定类型也可以的嘛?直接秒选的D,结果是选错的,哈哈哈哈
发表于 2021-01-09 10:52:24 回复(0)
对于本题目,我认为考察得是对于()和{}的区分,vector本质上还是数组,{}所框起来的是数据内容,是可以赋值给vector的,想想数组的初始化是不是经常采用这种方式呢?()则是对于数据的结构进行限定,这是vector特有的。所以()是不能对vector来进行赋值的。
发表于 2021-06-23 17:11:25 回复(0)
错题,vector不是类型是模板,必须指定类型,ABC都错误
发表于 2022-02-10 16:58:04 回复(0)
回复楼下:C++17可以类模板参数推导
发表于 2022-03-16 20:18:39 回复(0)
D选项的br是什么?
发表于 2022-10-12 16:28:59 回复(0)

详细解释: A.std::vector(4, 2):这是正确的vector初始化写法,它创建了一个包含4个元素,每个元素都是2的向量。

B.std::vector{4, 2}:这也是正确的vector初始化写法,使用了初始化列表语法。它创建了一个包含两个元素的向量,分别是4和2。

C.std::vector A = (4, 2):这是错误的写法。在这里,(4, 2)实际上是一个逗号操作符表达式,在逗号操作符中,它会计算两个表达式并返回最后一个表达式的结果。因此,(4, 2)的结果是2,相当于std::vector A = 2,这是错误的。

D.std::vector A = {4, 2}:这是正确的vector初始化写法,使用了初始化列表语法。它创建了一个包含两个元素的向量,分别是4和2

发表于 2023-11-29 20:22:13 回复(0)
我猜是逗号运算符将2赋值给容器,所以错误
发表于 2022-03-27 12:40:06 回复(0)
C 中,右端圆括号表达式的值是 int 型,用 int 型来初始化 std::vector 错误。
发表于 2021-12-20 09:29:44 回复(0)
已举报不谢🤬
发表于 2021-05-07 15:42:29 回复(0)
A,B,C都错的好吧,类型都不指定,屏蔽+1
发表于 2020-12-08 14:50:29 回复(1)
初始化vector对象只有vector A(4,2),没有vector A=(4,2)
发表于 2020-09-02 21:21:16 回复(0)