exch4nge

exch4nge

V2EX 第 30085 号会员,加入于 2012-11-29 14:47:49 +08:00
今日活跃度排名 5273
根据 exch4nge 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
exch4nge 最近回复了
2 天前
回复了 Symbo1ic 创建的主题 C++ 求助,想获得一些关于 C++学习的建议
@Symbo1ic
raw 用在能确定指针有效的情况,指针指向对象的生命周期肯定比当前类对象要长,能不用就不用。

其余不用共享的用 unique ,明确表示有所有权。需要所有权转移也用,函数参数返回值等。
(不用转移所有权,但用来延后初始化的场景建议用 optional )

share_ptr 共享用,随处都用的话得避免循环应用,可以用 weak 解决。有时也用 atomic store load 来做原子操作多线程安全切换里面的对象

内存使用大小上,share 最大,有 custom delete 的 unique 稍微大,没有的 unique 跟 raw 一样
性能上 share 最差,unique 与 raw 接近
47 天前
回复了 catfly 创建的主题 程序员 新 bing 你们有预约成功的吗?
收到 bing 通知邮件说可以访问 new Bing 了,不过点开链接,好像跳到一个错误页面后快速跳到老 bing 页面,没有 chatGPT
123 天前
回复了 rayduan 创建的主题 程序员 tabnine 黑五半价
看错了,免费的提示最多一行
123 天前
回复了 rayduan 创建的主题 程序员 tabnine 黑五半价
@Purelove 换个 Code Autocomplete 插件试试,也是 tabnine 的客户端。官方的插件好像会跟 rust-analyzer 打架,提示出不来
244 天前
回复了 fstar 创建的主题 程序员 TCP 关闭连接的不同版本,哪个才是对的?
这三个那里不同?
分着理解吧,unique 就是判断引用计数是不是一,即没有其它 shared ptr 只向同一个对象。

reset 就是指向一个新的对象,原来的引用计数减一可能会释放。


那段代码做的事情就是,如果不是 unique 那就复制一份,保证 p 指向的是 unique 的,做+=操作
2022-04-01 00:26:37 +08:00
回复了 java253738191 创建的主题 程序员 面试题: C++怎么实现热更新内存数据?
@ipwx 多线程情况下修改 shared_ptr 应该是不安全的,建议用 std::atomic_load 与 std::atomic_save 替代修改与读的操作。
2022-01-07 10:26:23 +08:00
回复了 Canon1014 创建的主题 程序员 高并发场景下使用 CAS 锁库存,不预防 ABA 会怎么样
我还以为是原子操作 CAS ,是数据库 CAS ?不过都差不多
2022-01-07 10:22:20 +08:00
回复了 Canon1014 创建的主题 程序员 高并发场景下使用 CAS 锁库存,不预防 ABA 会怎么样
仅算库存数量场景没问题。有问题的场景是 CAS 的变量相关的东西发生改变。比如你还维护了这十个库存商品的唯一序列号之类的。实际场景下大部分 CAS 的是指针,指针没变但是由于内存分配器又复用了刚释放的位置,新分配的对象还是在一样的指针上,但是对象内容跟之前老的指针完全不一样
2020-07-23 13:30:12 +08:00
回复了 UIXX 创建的主题 问与答 有多少人还在用 hhkb
在用 type-s ;非常喜欢手感
关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   2258 人在线   最高记录 5556   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 11:18 · PVG 19:18 · LAX 04:18 · JFK 07:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.