gpt4 book ai didi

c++ - 如何在cpp中定义volatile元素的map

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:25:47 25 4
gpt4 key购买 nike

我想生成一个互斥元素的映射,它可能需要是可变的。我正在尝试定义此类内容:

typedef std::map<int key, volatile long mutex> tMutexMap;
tMutexMap myMutexMap;

然后使用简单的 map 索引,例如:

myMutexMap[10]=0;
myMutexMap[23]=1;

我正在使用 gcc 4.1.2。 gcc 编译器不喜欢该代码。我得到一个错误

no matching function for call to 'std::pair....'"

我做错了什么?

最佳答案

C/C++ 的 volatile不像volatile在某些托管语言中与互斥量无关(参见 http://www.drdobbs.com/parallel/volatile-vs-volatile/212701484 )。根据您想要实现的目标,考虑使用 std::mutex (或 boost::mutex 如果您有 C++11 之前的标准库)或 std::atomic<YourPreferredIntergalType>

关于c++ - 如何在cpp中定义volatile元素的map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12822073/

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