技术栈

c++原子智能指针

Mr_WangAndy
2 小时前
c++20·c++40周年·c++原子智能指针·source_location·位操作函数
C++20新特性_原子智能指针,std::source_location和位操作函数C++11引入了智能指针,shared_ptr和unique_ptr是内存管理的利器。但是,shared_ptr不是线程安全的,虽然,std::shared_ptr 的引用计数控制块是线程安全的,但修改它指向的对象并不是线程安全的。所以,在多线程中读写同一个全局的 std::shared_ptr对象,面临数据竞争风险。 C++20之前的解决方法是,在多线程环境下,对共享变量加锁,以确保线程安全。 C++20 的解决方案: 直接特化 std::atomic 模板,允许 std::atomic<std::sh
我是有底线的