Effective Modern C++
文章平均质量分 92
First Snowflakes
捡贝壳
展开
-
c++ 11 STL之move与Rvalue Reference
最近使用到该特性,eg. std::vector<std::string> elements = std::move(func()); func()函数返回的类型是std::vector<std::string>。<Effective modern C++> chapter 5.<C++ concurrency in action...原创 2020-03-29 21:29:50 · 301 阅读 · 0 评论 -
shared_ptr线程安全问题
May <C++ Concurrency in Action 2nd Edition> will give an ansower!Ref:https://blog.csdn.net/jiangfuqiang/article/details/8292906https://www.cnblogs.com/gqtcgq/p/7492772.html原创 2020-03-01 00:10:31 · 1535 阅读 · 0 评论 -
Effective Modern C++ - Concurrency - Item 35 - Prefer task-based programming to threadbased
C++ 11增加了对多线程的支持,使得开发者可以基于c++开发跨windows,linux平台的软件, c++的多线程库是对各个不同平台的线程api的封装:原创 2020-02-23 21:43:59 · 218 阅读 · 0 评论 -
Effective Modern C++ - Item 40 - Use atomic for concurrency and volatile for special memory
Summary:讲解了volatile关键字的使用场景, std::atomic与volatile的区别。有利于深入理解volatile 和std::atomic的原理以及使用场景。该chapter已经read完毕,整理如下:原创 2020-01-28 19:10:14 · 301 阅读 · 0 评论 -
Effective Modern C++ - item 7 - Distinguish between parenthesis and brace when creating objects
定义一个对象时,对其进行初始化常见的初始化方式: (), {}, =等于号可能对应 复制构造函数:c++ 11引入了通过{}来进行初始化的方式, braced initialization,作为一种通用的方式{}可初始化std 容器中的初始值:{}可初始化非静态成员变量的值{}可初始化uncopyable objects,e.g, s...原创 2020-01-19 21:52:09 · 171 阅读 · 0 评论 -
Effective Modern C++ - item 21-Prefer make_unique and make_shared to direct use of new
希望能使一个病入膏肓的人起死回生------〔古罗马〕奥维德---直到c++14,std::make_unique函数才出现,但是用户使用c++11的话可以自己实现一个:Let’s begin by leveling the playing field for ...原创 2020-01-13 22:52:20 · 276 阅读 · 0 评论 -
Effective Modern C++ - item 20 - weak_ptr
采取行动乃消除焦虑的最好办法之一。Use std::weak_ptr for std::shared_ptr like pointers that can dangle.关于shared_ptr: https://blog.csdn.net/qq_35865125/article/d...原创 2020-01-09 22:27:42 · 232 阅读 · 0 评论 -
Effective Modern C++ - item 19 - shared_ptr
总结过的关于shared_ptr:https://blog.csdn.net/qq_35865125/article/details/88918909 , 有分析如何自己实现shared_ptr。----shared_ptr出现于c++ 11, 可以有很多很多个shared_ptr对象指向同一个资源(某个类的实例), ,这些shared_ptr共同拥有这个资源。 优点: 就像是...原创 2020-01-06 22:23:15 · 201 阅读 · 0 评论 -
《Effective Mocern C++》:About Rvalue and Lvalue
----Need to study it::原创 2020-01-04 23:26:12 · 427 阅读 · 0 评论 -
《Effective Mocern C++》item 23-30 Over View:Rvalue References, Move Semantics, and Perfect Forward
----Rvalue references的理解::?----这些特性需要深入理解,方可醍醐灌顶,如梦初醒:---学习c++ Lvalue 和Rvalue: https://blog.csdn.net/qq_35865125/article/details/103838944heuristic:(教学或教育) 启发式的...原创 2020-01-04 23:24:58 · 203 阅读 · 0 评论 -
《Effective Mocern C++》Book introduction
可以在社会中学习,然而,灵感却只有在孤独的时候,才会涌现出来。——(德)歌德原创 2020-01-04 22:59:17 · 153 阅读 · 0 评论 -
《Effective Mocern C++》item 22: Pimpl Idiom
PIMPL(Private Implementation 或 Pointer to Implementation)是通过一个私有的成员指针,将指针所指向的类的内部实现数据进行隐藏。PIMPL基于这样一个事实:在C++类中,允许定义一个成员指针,指向一个已声明过的类型。在头文件中只是存放该类型的声明,而具体的定义是存放在CPP文件中,这样就可以隐藏类型的具体实现。该chapter...原创 2020-01-04 21:58:00 · 492 阅读 · 0 评论 -
Effective Mocern C++-chapter5-Rvalue-move-forward
Ongoing原创 2020-01-04 20:17:59 · 160 阅读 · 0 评论 -
Effective Mocern C++ - Item 18-Use unique_ptr for exclusive-ownership resource management
孤独,是忧愁的伴侣,也是精神活动的密友。——(黎)纪伯伦智能指针就是一种代理模式,代理裸指针,帮助用户管理堆内存。-----unique_ptr的速度很快 ,占用资源少::----- unique_ptr独占其指向的资源,当一个unique_ptr被销毁时,如果其不是null的话就...原创 2019-12-29 12:05:20 · 271 阅读 · 0 评论