- 主题:[原创]Linux 下 C++20 modules 在正式项目中的实践
比如你一个 hpp 被多个 cpp 包含,你如果改了 hpp,那每个 cpp 都要重新编译这个 hpp 一遍,浪费。module
之后,只需要解析编译一次,优化了流程,加速了时间。
【 在 Bernstein 的大作中提到: 】
: module对编译模型有什么改变吗?
发自「快看水母 于 M2007J17C」
--
FROM 111.199.251.*
最近在考虑把一个工程改成module的,注意到你们项目的Singleton的析构是定义成virtual的,感觉CRTP模板用virtual dtor比较少见
src/common/singleton.cppm
--
修改:z16166 FROM 114.241.228.*
FROM 114.241.228.*
那怎么处理各种宏和预编译指令的影响?
对老代码重构很容易出错吧?
【 在 buildtolast 的大作中提到: 】
: 比如你一个 hpp 被多个 cpp 包含,你如果改了 hpp,那每个 cpp 都要重新编译这个 hpp 一遍,浪费。module
: 之后,只需要解析编译一次,优化了流程,加速了时间。
: 发自「快看水母 于 M2007J17C」
--
FROM 223.72.68.*
老c++程序员的习惯吧, 我记得20多年前,我面试的时候被问到为什么析构函数经常要做成虚的。
【 在 z16166 的大作中提到: 】
: 最近在考虑把一个工程改成module的,注意到你们项目的Singleton的析构是定义成virtual的,感觉CRTP模板用virtual dtor比较少见
: src/common/singleton.cppm
:
--
FROM 223.72.68.*
意思是老c++程序员有滥用虚析构的习惯?哈哈
【 在 finlab 的大作中提到: 】
: 老c++程序员的习惯吧, 我记得20多年前,我面试的时候被问到为什么析构函数经常要做成虚的。
:
--
FROM 114.241.228.*
防御性编程啊 ,需不需要,都加个virtual总没错
【 在 z16166 的大作中提到: 】
: 意思是老c++程序员有滥用虚析构的习惯?哈哈
:
--
FROM 223.72.68.*
是的。因为如果不这样写,等下有人覆盖了这个析构函数,c++ 语法不报错。
【 在 finlab 的大作中提到: 】
: 防御性编程啊 ,需不需要,都加个virtual总没错
--
FROM 59.61.196.*
违反c++哲学 You don't pay for what you don't use
【 在 finlab 的大作中提到: 】
: 防御性编程啊 ,需不需要,都加个virtual总没错
:
--
FROM 114.241.228.*
去他的 C++ 哲学。我只想在程序崩溃的时候别让我背锅。
【 在 z16166 的大作中提到: 】
: 违反c++哲学 You don't pay for what you don't use
--
FROM 59.61.196.*
这句话确实没错。 不过用在开发人员身上更合适。
不要无谓的浪费脑细胞。 多数普通应用不需要考虑这点开销。
等需要的时候再去考虑。
【 在 z16166 的大作中提到: 】
: 违反c++哲学 You don't pay for what you don't use
:
--
FROM 223.72.68.*