搜索
Ctrl K
计算机技术
生活
力扣
豆瓣读书
#CPP
C++ 杂谈(二)
主要记录由 C++17 新特性的学习
#CPP
#技术杂文
编写线程安全的代码
多线程安全问题要非常重视,排查也非常不容易,一个人应该对自己代码的安全性有个认识
#CPP
#技术杂文
#并发编程
#技术摘录
move函数的本质
move 只是把左值强制转换为右值引用,进而触发待移动对象的移动语义。如果待移动对象没有实现移动语义,就会走拷贝语义。可见 move 并不会窃取资源,实际要看待移动对象的自身情况
#CPP
C++杂谈(一)
杂谈系列是对 C++ 语法的回顾与补充
#CPP
左值、右值、亡值,纯右值,左值引用,右值引用
准确的来说,所有的引用,无论是左值引用还是右值引用,都是左值表达式。这是因为右值引用延长了右值的生命周期,我们可以去取右值引用的地址,因此它是个左值
#CPP
C++中的多态
我选择放弃弄清楚带虚函数的菱形继承——虚拟继承方式(多继承),希望没机会碰到它
#CPP
CAS机制
乐观锁却不这么想,但是资源只有一份,你乐观锁不加锁操作并不代表就可以直接访问资源而不管有没有人访问,所以乐观锁也有“加锁”机制,但是和悲观锁的行为不同。悲观锁是实际加锁和解锁来达到原子性,而乐观锁在正式更新数据之前会检查数据是否被其他线程改变过,如果未被其他线程改变过就将共享变量更新成最新值,如果发现共享变量已经被其他线程更新过了,就重试,直到成功为止。整个过程不涉及加锁和解锁操作,但却已实现原子性
#CPP
#并发编程
谈一谈 RAII 技术
利用 C++ 局部对象离开作用域,自动调用析构函数的特点。RAII 让资源的生命周期和对象绑定,对象生命周期结束会带走资源。在构造函数中获取资源,要记得在析构函数中回收资源
#CPP
移动构造函数和移动赋值函数
看来移动语义和复制语义的根本不同点就是,移动语义是浅拷贝(改变指向),复制语义是深拷贝(重新 new)
#CPP
拷贝赋值函数
拷贝构造函数是用一个已经存在的对象初始化一个正在创建的对象,而赋值运算符函数是用一个已经存在的对象赋值另一个已经存在的对象,这是二者本质的区别
#CPP
1
2
3
我
们
应
该
坚
守
正
确
的
道
路
,
而
不
是
看
似
正
确
的
道
路
,
可
有
太
多
不
深
思
的
人
误
入
歧
途
了
朋友
个人原创作品集
推荐机场(用多少买多少,不重置)
极客兔兔
Rainer Grimm(并发编程)
爱编程的大丙
谭升的博客
杜老师说
第二学堂
清和
祈星海
太傅博客
今今今生
笨鸟教程
draveness
incredibuild
Tangly的学习笔记
KashiwaのBlog
deepin
鸟窝
文件转换免费网站
yihui
wpfx网盘分享
ArthurChiao's Blog
得物技术
火龙果
计算机技术学习笔记
kaito
筱晶IT知识库
wuli.wiki
skynet教程
分享Java+MySQL+Redis教程
推荐 CPP 初学网站
C++后端开发进阶教程
申请友链
账号
Github
哔哩哔哩
联系
| 由
Hexo
及
致远
驱动