- 主题:[原创]Linux 下 C++20 modules 在正式项目中的实践
msvc的支持最全
“从 Visual Studio 2022 版本 17.1 开始,C++20 标准模块已在 Microsoft C++ 编译器中完全实现”。
而且/std=c++20时可以使用c++23的std库的module模式
--
修改:z16166 FROM 61.48.130.*
FROM 61.48.130.*
最近在考虑把一个工程改成module的,注意到你们项目的Singleton的析构是定义成virtual的,感觉CRTP模板用virtual dtor比较少见
src/common/singleton.cppm
--
修改:z16166 FROM 114.241.228.*
FROM 114.241.228.*
意思是老c++程序员有滥用虚析构的习惯?哈哈
【 在 finlab 的大作中提到: 】
: 老c++程序员的习惯吧, 我记得20多年前,我面试的时候被问到为什么析构函数经常要做成虚的。
:
--
FROM 114.241.228.*
违反c++哲学 You don't pay for what you don't use
【 在 finlab 的大作中提到: 】
: 防御性编程啊 ,需不需要,都加个virtual总没错
:
--
FROM 114.241.228.*
你的程序崩溃,锅难道要B.S来背吗,哈哈
【 在 hgoldfish 的大作中提到: 】
: 去他的 C++ 哲学。我只想在程序崩溃的时候别让我背锅。
:
--
FROM 114.241.228.*
都这么想的话,那代码里就到处是看不下去的东西了
比如到处给std::string传值,到处是打印日志的,到处是复制的代码。。。不一而足。我手头上有个工程是这样
也就永远停留在初级阶段吧,哈哈
【 在 finlab 的大作中提到: 】
: 这句话确实没错。 不过用在开发人员身上更合适。
: 不要无谓的浪费脑细胞。 多数普通应用不需要考虑这点开销。
: 等需要的时候再去考虑。
: ...................
--
FROM 114.241.228.*
这跟性价比没关系,这些人的工资不低,只是C++不熟或者说很糙,只能算拿着C++编译器写C代码或者写点像C++的代码。但是其他方面的技术有可用之处或者有裙带关系
【 在 finlab 的大作中提到: 】
: 哈哈, 这就是性价比啊, 估计你给的也是初级的工资
:
--
FROM 114.241.228.*
那可不是捎带着就写了。实际上C的水平也不咋的,一个函数能堆个上千行,一个几十项的表格加上循环搞定的,却能复制同样的代码几十次,这是人肉展开宏的感觉。都是给维护者挖坑。
现在是要求慢慢重构、修改。不多说了
【 在 finlab 的大作中提到: 】
: 也就是人家捎带着就把c++代码写了。
: 何况,最后项目产出的代码是项目经理负责的,也就是说项目经理至少是默认这样的代码的。
:
--
FROM 114.241.228.*