2022 C++模板基础知识

发布于:2022-12-30 ⋅ 阅读:(651) ⋅ 点赞:(0)

2022 C++模板基础知识


  • std::remove_cv

    • 模板用于获取类型T,而没有const和volatile限定。如果T不带const和volatile限定,则返回布尔值true,否则返回false。
    • typedef remove_cv::type A, A is Same = int
    • typedef remove_cv<const volatile int&>::type D, D is Same = int
    • https://vimsky.com/examples/usage/stdremove_cv-in-c-with-example.html
  • std::forward

    • 通常是用于完美转发的,它会将输入的参数原封不动地传递到下一个函数中。
    • https://zhuanlan.zhihu.com/p/92486757
  • std::memory_order_relaxed

    • C++11多线程 内存序,指令的执行顺序
    • memory_order_relaxed 无fencing作用,cpu和编译器可以重排指令
    • https://baichao0817.blog.csdn.net/article/details/109319467 六种内存序
  • 理解std::move和std::forward

    • c++11中提供了std::move()来将左值转换为右值引用,从而方便的使用移动语义。move是将对象的状态或者所有权从一个对象转移到另一个对象,只是转移,没有内存拷贝。
      c++中所有容器都实现了move语义,方便我们实现性能优化。
    • https://blog.csdn.net/f110300641/article/details/83477160

网站公告

今日签到

点亮在社区的每一天
去签到