- 主题:我也折腾了一下C++Modules
不写模板库没必要用module
--
FROM 115.193.181.*
include几个头文件不省心了,还是别写了吧
最开始搞module就是为了学python,但是事实上python的module是个毒瘤,弄得各种import,各种污染namespace,当然,python没有namespace这个东西。
近10年的c++的优势就是模板化和预编译化,各种编译时优化的基础就是编译器能看见代码。但是大家又想保密又想封装,特别是这几年开源开始变味以后,只要弄模块来折中。但事实上,模块只对万年老库友好,但凡模块里变一个函数,整个模块全部要重新release
【 在 poocp 的大作中提到: 】
: 就以上面那个代码为例,我没用模块之前的代码:
: #include <algorithm>
: #include <iostream>
: ...................
--
FROM 115.193.181.*
我说了,不写模板库没有必要,你以为STL不是模板库是什么?
module的设计是为了方便使用大型稳定模板库。你光使用,不写库,特别是模板库,你当然不知道module的槽点在哪儿。虽然模板可以解决很多问题,但是还是有很多必须是由宏来解决的,特别是和硬件构架有关的信息。
可能工作的领域不一样,我工作的领域更在乎编译时+零开销+硬件匹配。 module本身无非就是把header文件binary化以获得更快的读取速度,库的构架和设计,还有面对的库使用者是不变的,没有必要神话。
更何况现在的大趋势是,底层用c++,高层业务流由python等其他有优势的语言进行,这才是大趋势。最后,不要依赖人工智能,这玩意连个安全的代码都写不出来,更不用说安全的怼人
--
FROM 115.193.181.*