当将指针返回到数据时,C++是无用的关键部分
C++ Are Critical Sections Useless When returning Pointers to data
我想我已经知道了这个问题的答案,但我目前正在重新编译一些遗留的Visual C++6.0代码,并且我正在放入一些CCcriticalSection,但后来我开始思考,如果我的所有函数都返回一个指向某些数据的指针,我认为关键部分可能毫无用处,因为我不认为我真的保护了它指向的数据,我不认为它真的阻止了任何人向它写入。(假设我在setter周围有相同的锁)。
你觉得怎么样?
是的,如果返回指向数据的指针,那么将指针延迟到关键部分之外将是一个问题。对关键共享数据的访问必须在锁内。
我不知道你所说的CCritialSections是什么意思,但总的来说,返回指针或引用的函数不是的好候选者用于互斥锁。你需要在更高的层次上管理事情。
相关文章:
- 使用一个考虑到std::map中键值的滚动或换行的键
- 如何在c++中只将键插入到bimap的一侧
- 使用2个键的cpp-stl::优先级队列排序不正确
- 有效地使用std::unordered_map来插入或增加键的值
- C++映射有2个键,这样任何1个键都可以用来获取值
- 智能指针作为无序映射键,并通过引用进行比较
- 带有数组键C++的二进制映射
- 如何将部分流作为参数传递
- 使用 GLUT 使用键停止动画?
- 无法添加多个键以映射将结构作为键
- 将 std::set 与基于键的比较器一起使用
- 如何使用 std::variant 打印地图键/值?
- 使用模板化的键类型定义 std::map,该键类型基于作为参数接收的函数
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- C++读取用户输入而不按回车键(Mac OS X),与Turbo Pascal中的读取键相同
- 查找自动生成键并具有线性内存消耗的小型关联数组
- 整数键映射到头文件中的成员函数指针
- 使用字符数组作为 Map 中的键
- (SFML)按下键时,播放器构造函数未使用正确的动画进行更新
- 容器,其中每个项可以有多个非唯一键 (c++17)