gpt4 book ai didi

c++ - STL容器的只读操作

转载 作者:行者123 更新时间:2023-11-30 04:40:03 24 4
gpt4 key购买 nike

此处需要建议:STL 容器的哪些操作被认为是只读的?取vector<int>例如,可以安全地说任何不改变底层 int 数据的操作都是只读的吗?我正在编写一个多线程程序,但不太确定通过引用/指针传递容器是否是线程安全的。

在两者之间,相同的规则是否也适用于 basic_string?任何有助于快速了解 STL 容器内部机制的推荐资源?谢谢。

最佳答案

声明为 const 的方法很可能不会修改容器,尽管您不能确定。

在多线程应用程序中使用 STL 容器时,您将需要一个外部同步机制。 C++ 标准库不是线程安全的,假设其中一个线程更改了 vector 对象的状态,任何不同步的多线程使用都将导致未定义的行为。

关于c++ - STL容器的只读操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1801834/

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