本博客因为部署在netlify, 所以可能会出现部分图片加载不出来的情况。如有必要请科学上网!

  • STL-set

    set 集合。存储指定的类型:std::set<int> mySet;. 横向对比 特性 set multiset unordered_set unordered_multiset 底层结构 红黑树(平衡二叉搜索树) 红...
  • shared_lock

    shared_lock 专门用于管理 std::shared_timed_mutex 或 std::shared_mutex 的共享锁。它简化了获取和释放共享锁的操作,并提供了一些附加功能,比如延迟锁定、超时锁定等。 成员函数: shared_l...
  • shared_timed_mutex

    shared_timed_mutex 共享超时互斥锁(具备超时功能的读写锁) 成员函数: lock_shared(): 获取==共享锁==,如果当前有独占锁,则阻塞。 try_lock_shared(): 尝试获取共享锁,如果成功则返回true,否...
  • 内存序

    什么是内存序 内存顺序是指在并发编程中, 对内存读写操作的执行顺序。这个顺序可以被编译器和处理器进行优化, 可能会与代码中的顺序不同, 这被称为指令重排.
  • 原子操作

    原子操作
  • C++ nodiscard

    nodiscard 用于标记函数的返回值: [[nodiscard]] int Compute(); 当调用该函数却不赋值返回结果时,将收到警告: 123void Foo() { Compute();} 1warning: ...
  • C++ 内存对齐

    C++ 内存对齐
  • std::bind和std::placeholders详解

    基本概念
  • 完美转发(std::forward)

    左值和右值 了解完美转发前,必须先了解左值和右值的概念,以及左值引用和右值引用的概念。参见:左值/右值引用和std::move 万能引用 万能引用是一种特殊的引用,它只能出现在模板函数和模板类中。并且,万能引用的格式固定,为T&& t...
  • 左值/右值引用和std::move

    左值和右值 要想了解std::move,需要先了解左值和右值,以及左值引用和右值引用。先说简单的判断左值和右值的方法: 左值: 可以取地址、可以位于等号左边。也既:可以出现在等号(赋值运算符)左边,也可以出现在等号右边(取地址或者赋值给其他变量)...
/7