C++ std::function 实现原理
msvc 源码见https://github.com/microsoft/STL/blob/main/stl/inc/functional 预备知识 参数类型,可以分为一元(unary)和二元(binary),这个概念很重要,gcc的实现里也用到。 可以看到msvc里定义了三个_Arg_types:无参数类型;接受一个参数,一元;接受两个参数,二元。 并且_Arg_types没有成员变量...
msvc 源码见https://github.com/microsoft/STL/blob/main/stl/inc/functional 预备知识 参数类型,可以分为一元(unary)和二元(binary),这个概念很重要,gcc的实现里也用到。 可以看到msvc里定义了三个_Arg_types:无参数类型;接受一个参数,一元;接受两个参数,二元。 并且_Arg_types没有成员变量...
如何给vcpkg提pr 笔者偶尔会给vcpkg提交一些包的更新,这里记录下遇到的问题,与大家分享,如能起到一点点帮助那我就更开心了。 首先是github提pr的基本流程,这里假设大家都已经知道了,此为前提。 更新包 更新版本 以fmt为例,我们这次的目的要更新fmt的版本号到11.0.2 在vcpkg的路径ports文件夹下找到要更新的包,为例,那么我们就要找到文件夹vcpkg/p...
参考https://pip.pypa.io/en/stable/reference/requirement-specifiers/ # --------------------------------- # System platform value # --------------------------------- # AIX "aix...
DP 数位DP 是什么 数位是指把一个数字按照个、十、百、千等等一位一位地拆开,关注它每一位上的数字。如果拆的是十进制数,那么每一位数字都是 0~9,其他进制可类比十进制 为什么 为什么要一位位的判断?因为对一个区间内的数的统计,往往有相似的地方。比如 [1000, 1999] 和 [2000, 2999] 只是第一位发生了变化,后三位变化类似,那么只需要后三位的变化能通用化,那么不就可以...
在windows下使用cythonize可以将py文件编译成pyd,这样就完成了初步的python代码加密工作 使用前需要先安装Cython pip install Cython 然后对py文件执行命令cythonize -i -3 --directive always_allow_keywords=true xxx.py 这里有一个要注意的点: –directive always_a...