- 主题:3202年了,c++项目用哪个标准比较好
因为本来就是两种语言,应该说模板语言才是现代c++的精髓
如果说继承和虚函数是所谓经典c++,那只能说已经几乎被时代淘汰了。因为这两个东西本来c就可以做,外加现在各种其他语言,如果仅仅从编写业务逻辑上来说经典C++没有任何优势
现代C++的精髓是,把逻辑层和硬件层结合,给编译器更精确的指示编译出效率更高的机器代码,所以能在编译时做的都在编译时做,能内存连续尽量内存连续, 能在stack上的尽量在stack上
【 在 hgoldfish 的大作中提到: 】
: 只要不用模板,几乎都没有用。
: c++ 用模板以后编译速度特别慢,占用内存巨大。而且模板语言是游离于经典 c++ 之外的另一套语言,怎么看怎么别扭。
:
--
FROM 115.193.172.*
【 在 ziqin 的大作中提到: 】
: 讲真,module似乎没什么大用,除了编译快一些,发布的时候又不能发布module
:
编译快就是很大的福利啊
如果将来能够进化到像现代语言那样,不需要头文件和cpp分离
可以只用一个文件,c++程序员的生活就更更幸福一些
--
FROM 221.217.26.*
【 在 ziqin 的大作中提到: 】
: 不写模板和高性能计算,20的确用处不大
: 一旦涉及高性能计算,必须constexpr, 必须literal,必须[[likely]], [[unlikely]], 必须能compile time的就compile time,必须std::variant来代替基类指针, 必须varidic template, 写trait必须folding expression,另外23里加了flat_map和flat_hash_map也是必用。
: 简直不能更多
: ...................
这些其实都是编译时间和编程时间的交易
所谓的高性能计算,其实应用范围很窄,很多地方手撸就可以
必须的程度其实是需要看算总账的结果吧
--
FROM 221.217.26.*
学习了
--
FROM 222.129.128.*
std::variant 相比于虚基类如何提升了性能?
【 在 ziqin (子青|会挽雕弓如满月|西北望|射天狼) 的大作中提到: 】
: 不写模板和高性能计算,20的确用处不大
:
: 一旦涉及高性能计算,必须constexpr, 必须literal,必须[[likely]], [[unlikely]], 必须能compile time的就compile time,必须std::variant来代替基类指针, 必须varidic template, 写trait必须folding expression,另外23里加了flat_map和flat_hash_map也是必用。
:
--
FROM 183.179.53.*
不考虑遗留代码、模块集成和os限制的话当然越新越好,而且现在有docker的隔离os也不是什么问题了
--
FROM 221.224.15.*
【 在 mopo 的大作中提到: 】
: 不考虑遗留代码、模块集成和os限制的话当然越新越好,而且现在有docker的隔离os也不是什么问题了
也不是。新工具实现经常不完善,有各种或明或暗的坑
等你掉坑里后悔想撤退的时候,沉没成本肯定已经比较高了
生产型项目保守谨慎,不是天上掉下来的,都是以前的血泪经验换来的
--
FROM 222.71.215.*
踩坑的过程就是学习,而且我也说了前提了,另外拿不准的话可以做前期调研,如果一些核心feature确实碰到大坑,那就回退呗,当然也别用太新的,官方的最新stable,lts就行
【 在 leslin 的大作中提到: 】
:
: 也不是。新工具实现经常不完善,有各种或明或暗的坑
: 等你掉坑里后悔想撤退的时候,沉没成本肯定已经比较高了
: ...................
--
FROM 221.224.15.*
【 在 mopo 的大作中提到: 】
: 踩坑的过程就是学习,而且我也说了前提了,另外拿不准的话可以做前期调研,如果一些核心feature确实碰到大坑,那就回退呗,当然也别用太新的,官方的最新stable,lts就行
:
回退的成本可能非常高昂,不是所有的坑都能调研出来的
--
FROM 222.71.215.*
但是,module好像比库更加版本细化,反正不同组之间协同工作,用module经常会类似版本不匹配之类
【 在 leslin 的大作中提到: 】
:
: 编译快就是很大的福利啊
: 如果将来能够进化到像现代语言那样,不需要头文件和cpp分离
: ...................
--
FROM 115.193.172.*