1

直接操作指向 STL 容器中元素的引用/指针总是安全的吗?

例如,假设我们有

inline void swap(int &a, int &b){int temp=a;a=b;b=temp;}

vector<int> array;

其中包含 {1,2,3,4,5}

使用以下调用是一个好习惯吗?

swap(array[1],array[3]);
4

3 回答 3

3

是的,那会很好。

std::swap使用而不是您自己的功能会是更好的做法。

于 2012-11-03T13:06:01.433 回答
2

std::vector::operator[]如果您实际上无法对它执行任何操作,则返回引用将毫无意义。您的代码非常好。

于 2012-11-03T13:04:54.127 回答
2

对于序列容器,这很好。另一方面,关联容器对具有特定值的元素所属的位置有自己的概念,因此不要混淆其元素的值。

于 2012-11-03T15:29:35.093 回答