C++ - 从valarry到simd
很久以前,C++就有支持运算符操作的valarray了,C++23之后会有simd,实际上运算符的问题相当复杂,值得探讨一下
1119 words
|
6 minutes
近距离观察C++20`[[likely]]`和`[[unlikely]]`属性
C++20引入了两个新的属性`[[likely]]`和`[[unlikely]]`,这两个属性可以帮助编译器优化代码,这一篇来观察一下对应的汇编代码。
705 words
|
4 minutes
C++黑魔法 - 编译期变量
编译期变量目前实际上在C++里是不存在的概念,因为C++的模板编程是函数式范式,但是其实可以利用C++编译器的漏洞来间接做到,所以是黑魔法,这里仅仅做有趣的探讨。
977 words
|
5 minutes
C语言根据宏参数个数不同采取不同动作
有的时候我们希望当宏参数不同时,C语言能够采取不同的动作,例如只有一个参数时,扩展成一个if,当有两个参数时,扩展成一个if和一个else if。实际上使用一些技巧完全可以让C宏做到这件事。
343 words
|
2 minutes