学懂现代C++——《Effective Modern C++》之类型推导和auto

2023-04-10
阅读 5 分钟
1.1k
之前分享过Scott Meyers的两本书《Effective C++》和《More Effective C++》。这两本书对我深入学习C++有着很大的帮助,建议所有想进阶C++技术的同学都可以看看。但是,这两本书是大神Scott在C++11之前出的,而C++11对于C++社区来说是一次重大的变革,被称为现代C++,用以区分C++11之前的传统C++。

C++11的condition_variable实现WaitForSingleObject功能

2021-04-24
阅读 3 分钟
2.6k
在多线程程序开发中,我们有时会希望等待其他线程结束后在继续执行某些任务。比如常见的,主线程需要等待其他所有子线程结束后再结束程序。在Windows下我们一般使用WaitForSingleObject,或者WaitForMultipleObjects来实现,它们都会等待Object被设置为有信号时才返回的。这样我们在主线程结束的地方wait,在子线程结束...

C++11拾穗

2020-12-23
阅读 8 分钟
1.4k
C++11新关键字alignas:指定对齐大小alignof:获取对齐大小decltypeauto(重新定义):可作为返回值类型后置时的占位符static_assert:静态断言using(重新定义):类型别名或者模板别名noexcept:声明函数不可以抛出任何异常export(弃用,不过未来可能留作他用)nullptrconstexpr:可在在编译期确认的常量表达式thread_local...

c++11强化知识点

2020-11-15
阅读 4 分钟
1.4k
c++11提供了std::initializer_list,将使得类对象的初始化也可以和普通数组或者POD数据一样使用初始化列表的方式。只要为类对象提供初始化列表构造函数即可。

C++智能指针作为成员变量

2020-01-09
阅读 2 分钟
4.1k
C++11为我们提供了shared_ptr、unique_ptr和weak_ptr这三种智能指针帮助我们更方便安全的使用动态内存。它们都定义在memory头文件中。智能指针的常见用法大家都应该很熟悉了,今天我想说一下智能指针作为成员变量时的用法。比如上面这段代码,我想类Settings中的Device指针换成智能指针,那么getDevice应该是什么样的呢?