【发布时间】:2013-04-16 02:51:39
【问题描述】:
这个很基础。
我记得在某处看到了一条警告(我现在找不到),大意是您不应该直接修改 STL 容器的内容,因为它可能会对容器的内部记录保存造成严重破坏。从那以后,当你有一个想要修改的元素时,你应该使用类似 boost 的 ptr_containers 之类的东西。
这基本上就是我想做的所有事情:
int main (int argc, char *argv[]) {
std::vector<int> jambone;
jambone.push_back(2);
jambone.front() = 4;
std::cout<< jambone.front();
}
我不想在这里用多个线程或任何东西做任何花哨的事情。那应该没问题吧? 如果它是一个装满对象的容器,并且我在其中一个上调用了一个 mutator,那会有什么不同吗?
【问题讨论】:
-
你的意思是什么修改?人们一直将向量作为 C 数组传递。