c++学习心得
你才喜欢菜虚鲲
这个作者很懒,什么都没留下…
展开
-
关于c++智能指针 shared_from_this()
作用 : 用于类内返回this指针给其他用户调用 或者类内bind一个异步执行函数。why:那为什么不直接返回this或者直接绑定this呢?(1) 直接返回this指针 假如用一个智能指针接管这个this 那么很容易出现两个智能指针用同一个普通指针初始化 那么一定会析构同一个对象两次,因此返回的必须是一个智能指针。(2)直接绑定this 用于异步执行一个类的成员函数,很可能会出现类已经被析...原创 2020-02-12 23:29:09 · 967 阅读 · 0 评论 -
c++ 弱鸡线程池的实现
线程池把之前做的笔记一次性挪到博客上好喽这是一个固定数量的线程池,线程任务可带参数,异步返回返回值,本菜鸡花了一天才看明白这是怎么回事,用到了很多c++11的特性,比如bind function future等class ThreadPool{public: using Function = std::function<void()>; /* 成员函数 ...原创 2020-01-08 16:42:51 · 112 阅读 · 0 评论 -
c++push_back 以及 emplace_back 的区别
区别都说emplace快push慢,今天就详细研究下到底两者有什么区别,以及这个move在中间扮演了一个什么角色。先上测试代码,是一个自己手写的str字符串类,几种构造函数,都写全了:class str {public: friend ostream& operator <<(ostream& out, const str& p); st...原创 2020-01-08 16:28:19 · 598 阅读 · 0 评论 -
关于c++的 右值 右值引用 move
简介第一次接触c++move操作就懵逼了,一直想探个究竟,但是右值以及右值引用思考了好长时间,就是不得要领,今天终于有所收获,写下第一篇博客,一方面为了帮助一些刚入门的朋友,另一方面也是帮助自己今后复习。右值 左值 右值引用 左值引用 含义左值是一个持久的量,右值是一个短暂的量。那怎么算持久怎么算短暂呢?取决于我的代码里有没有一个变量来保存他。举个例子:int i = 5;string...原创 2020-01-08 15:56:06 · 201 阅读 · 0 评论