gpt4 book ai didi

c++ - 为什么在声明对象数组时不能使用 -> 运算符?

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:07 25 4
gpt4 key购买 nike

风景01:

vector<int> *v = new vector<int>();
v->push_back(10);

它工作正常。

风景02:

vector<int> *arr = new vector<int>[5];
arr[0]->push_back(10);

这是行不通的。为什么?

最佳答案

v是指向 std::vector<int> 的指针目的。因此 push_back()使用 . 不能直接获得 vector 的函数符号,但可以使用 -> 直接访问符号,以及其他方式。

arr是指向 std::vector<int> 的指针对象数组。调用arr[0]您正在获取该数组的第一个元素,即 std::vector<int>对象,而不是指针。标准.符号在这里应该工作得很好。

关于c++ - 为什么在声明对象数组时不能使用 -> 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59566234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com