C++
文章平均质量分 53
风起时~微凉
面朝大海,静等春暖花开……
展开
-
C++14/17新特性
C++14: auto优化 函数返回值可以为auto类型 auto func(int index) { return index; } lambda参数可以为auto auto f = [] (auto a) { return a; }; std::make_unique C++11中对智能指针只有std::make_shared,C++14中添加std::make_unique。示例: class Test {}; std::unique_ptr<Test > ptr =原创 2021-06-16 17:21:57 · 542 阅读 · 0 评论 -
c++11新特性
default和delete default:在C++中,声明自定义的类型之后,编译器会默认生成一些成员函数,这些函数被称为默认函数,我们使用default可以显示的让编译器去生成该函数的默认版本 delete:弃置函数,函数后添加“=delete”之后,此函数将不允许被调用 示例: class Test { public: Test() = default;//默认构造函数 Test& operator=(const Test&) = delete; Tes.原创 2021-06-16 13:47:27 · 284 阅读 · 3 评论 -
如何避免c++中的坑
无符号整型的使用错误 无符号整型死循环 STL遍历删除元素时,迭代器失效错误 std::list排序 std::list调用sort 成员变量初始化 成员变量默认初始化 std::remove的使用 std::remove的使用删除成员原创 2021-05-14 18:58:48 · 193 阅读 · 0 评论 -
C++11线程相关知识点大全
C++11多线程开发知识点总结 1)线程基本操作 创建线程:std::thread myObj(入口函数); //创建线程就开始运行 获取线程ID:get_id 检查线程是否可被 join:joinable 线程执行顺序:join 阻塞线程 detach 分离线程 切换线程:swap 2)锁 mutex分类: std::mutex 最基本的mutex类 std::recursive_mutex 递归mutex类 std::time_mutex 定时mutex类(try_lock_for阻塞一段时间等待锁原创 2021-03-30 11:32:21 · 304 阅读 · 0 评论 -
c++11实现线程安全的单例模式
c++11实现单例 线程安全的单例 实现单例模板原创 2021-03-31 11:07:15 · 441 阅读 · 0 评论 -
乐观锁、悲观锁区别和使用
互斥锁、自旋锁、读写锁、悲观锁、乐观锁 互斥锁和自旋锁是最底层锁 互斥锁、自旋锁、读写锁都属于悲观锁 互斥锁:加锁失败,线程释放cpu,给其他线程(涉及上下文切换,消耗时间) 自旋锁:加锁失败,线程忙等待,直到拿到锁(适用场景:被锁住代码执行时间很短。通过cpu提供的cas函数实现原子指令1:查看所得状态,如果所空闲执行第二步,2:将锁设置为当前线程所有) 读写锁:读锁(共享锁,多个线程持有),写锁(独占锁) 读写锁分累: 读优先锁:A线程获取读锁,B在获取写锁时,会被阻塞,阻塞过程中,C 获取读锁仍可以.原创 2021-03-31 10:25:53 · 201 阅读 · 0 评论