Senior Dogsbody Engineer  

随笔分类 -  Modern C++

  • C++ 20协程
    摘要:协程就是一个可以挂起(suspend)和恢复(resume)的函数(不能是 main 函数)。你可以暂停协程的执行,去做其他事情,然后在适当的时候恢复到暂停的位置继续执行。协程让我们使用同步方式写异步代码。 C++ 提供了三个方法挂起协程:co_await, co_yield 和 co_return 阅读全文
    posted @ 2022-08-09 09:22 高级打杂工程师 阅读(661) 评论(0) 推荐(0) 编辑
  • emplace_back()
    摘要:emplace_back()是c++11的新特性。和push_back()的区别在于push_back()方法要调用构造函数和复制构造函数,这也就代表着要先构造一个临时对象,然后把临时的copy构造函数拷贝或者移动到容器最后面。而emplace_back()在实现时,则是直接在容器的尾部创建这个元素 阅读全文
    posted @ 2022-08-01 11:34 高级打杂工程师 阅读(241) 评论(0) 推荐(0) 编辑
  • 智能指针
    摘要:1.什么是智能指针 从比较简单的层面来看,智能指针是RAII(Resource Acquisition Is Initialization,资源获取即初始化)机制对普通指针进行的一层封装。这样使得智能指针的行为动作像一个指针,本质上却是一个对象,这样可以方便管理一个对象的生命周期。 在c++中,智能 阅读全文
    posted @ 2022-06-24 13:24 高级打杂工程师 阅读(77) 评论(0) 推荐(0) 编辑
  • Lambda
    摘要:Lambda 表达式,实际上就是提供了一个类似匿名函数的特性 Lambda 表达式的基本语法如下: [capture_list] (params_list) mutable exception -> return type { function body } capture__list:捕获外部变量 阅读全文
    posted @ 2022-06-23 15:10 高级打杂工程师 阅读(19) 评论(0) 推荐(0) 编辑
  • Modern C++ 语言可用性的强化
    摘要:1. 常量 (1) nullptr 空指针 nullptr 出现的目的是为了替代NULL,专门用来区分空指针、0 (2) constexpr 常量表达式 在编译时就把这些表达式直接优化并植入到程序运行,增加程序的性能。 char arr_1[10]; // 合法char arr_2[LEN]; // 阅读全文
    posted @ 2022-06-21 11:38 高级打杂工程师 阅读(68) 评论(0) 推荐(0) 编辑
  • decltype
    摘要:decltype + 变量 当使用decltype(变量)的形式时,decltype会直接返回变量的类型(包括顶层const和引用)。 const int ci = 0, &cj = ci; decltype(ci) x = 0; // 定义了x, x的类型是const int decltype(c 阅读全文
    posted @ 2022-06-21 09:30 高级打杂工程师 阅读(233) 评论(0) 推荐(0) 编辑

 
点击右上角即可分享
微信分享提示