随笔分类 - 1_0_6 C++11
摘要:``` #include #include int increment(int x){ return x + 1; } template std::vector expand(Args... args) { std::vector arr = {args...}; return arr; } tem
阅读全文
摘要:线程池:创建几个线程用于处理任务,这些线程暂时不销毁,从而减少线程创建和销毁所需的时间。将任务放进任务队列中,线程从任务队列中取任务。这是一个生成者和消费者模型,需要考虑互斥与同步的问题。实现所需内容如下: 一个锁:用于线程互斥访问任务队列 两个条件变量: * 1.当任务队列满时,此时生产者线程阻塞
阅读全文
摘要:# std::promise `std::promise`:用于获取线程中变量的结果,如下: ``` #include #include #include void printMessage(std::promise&& prms, std::string message) { std::this_
阅读全文
摘要:类成员或结构体成员也不可以定义为 auto。 auto作为函数返回值,需要注意的点: 当函数使用多条判断语句时,可能有多条 return 语句,此时所有语句的返回类型必须一致,否则 auto 会报错。 当函数没有 return 语句时,auto 会被推导为 void。 如果声明和实现分离了,则不能声
阅读全文
摘要:在程序运行时分配的内存空间是需要在运行中释放的,这部分内存称之为堆。 智能指针不用自己释放内存,只要没有指针指向内存了,就会自动释放。下面是两种智能指针: shared_ptr允许多个指针指向同一个对象。使用一个计数器记录对象被多少指针指向。无论何时我们拷贝一个shared_ptr,计数器都会递增。
阅读全文
摘要:请直接参考:[C++11中enable_shared_from_this的用法解析](https://blog.csdn.net/breadheart/article/details/112451022) > std::enable_shared_from_this 能让一个对象(假设其名为 t ,
阅读全文