Non-Profit, International

Spirit unsterblich.

  • constexpr,constinit 和 consteval

    字数统计:1046

    C++ 11 中增加了关键字 constexpr,C++ 20 中增加了关键字 constinit 和 consteval。其中 constexpr 用于声明常量表达式,consteval 确保常量求值,constinit 用于静态初始化。

  • std::chrono

    字数统计:1429

    C++ 11 开始增加了 std::chrono 这个时间库,可以在编译期进行时间换算以及提供计时功能。同时还可以配合 std::condition_variable 来实现定时唤醒功能。

  • C++ 20 Module

    字数统计:1465

    C++ 20 的一共重要特性是模块,模块是一种全新的源文件组织方式,旨在解决以往使用源文件包含的方式导致翻译单元过大以及模板重复实例化问题,有利于加快编译速度。

  • Windows 绑定进程到指定核心

    字数统计:1345

    闲着没事写了个小工具,让指定进程运行在指定 CPU 核心。比如让某进程只运行在前 4个核心,前 6 个核心。或者屏蔽超线程,让每个线程都运行在独立核心上。原理是先根据可执行文件名获得进程的句柄,然后配合一个 64 位的掩码传给 SetProcessAffinityMask 函数即可。需要管理员权限才能运行,另外没有考虑 OpenProcess 被 Hook 的情况,有可能 OpenProcess 被某些反作弊软件 Hook 导致调用虚假的 OpenProcess 而失败。

  • C++ std::move 和右值引用的使用

    字数统计:1144

    右值是一个被说烂了的问题,之前的文章多次讲过右值和右值引用的语法,如何编写移动构造移动赋值等,对于如何真正应用却缺乏描述,这篇文章就是用来说明如何利用移动。

  • C++ 代码编写建议

    字数统计:2459

    这是一份 C++ 的代码编写建议书,本建议书类似于 Google C++ Style Guide,但更倾向于推广现代 C++。不同于 C++ Core Guidelines,本建议更为细致。本建议书具有强烈的个人倾向,也会参考其他建议。