假设一个函数需要一个指向类型为T的向量的指针,但是当我只有一个类型为T的向量的向量(类型不保证是POD)时,这样做是否可行?
std::vector<std::vector<T>> input;
auto selectedVectorPtr=&input[j];
比这更安全
std::vector<std::vector<T>> input;
auto selectedVectorPtr=&(input[j]);
同时假设输入的范围直到以selectedVectorPtr
作为参数的函数结束。
我的顾虑(/误解)是:
- 是否会创建任何临时对象?因此,取其地址是否有问题?
- 对T类型的&或[]运算符重载是否会影响操作符优先级的更改?
- 如果在获取地址后重新调整了vector(或两者都是),会怎样?
(&input)[j]
。否则,它们是等效的。 - molbdnilo(*parameter)[k]
这样,但它看起来当然不同,我也担心*parameter[k]
。 - huseyin tugrul buyukisik