是 C++ 的发展进入了邪路,还是我写代码的姿势不正确_-真重
需要拷贝的时候用拷贝
不需要拷贝的时候用引用
强调资源唯一的时候用std::move,经典范例unique_ptr
把这些语法当作表达代码意图的注释,而不是去关注开销
觉得是常量表达式的用constexpr,确定是常量表达式的用consteval
确定代码不会抛异常或者不抛异常也没事,就加noexcept,加了就默认你完整思考过异常处理了,不确定就别加
C艹发展不是在让自己更接近汇编,而是在增强代码传达思想的能力。思想传达准确,debug的时候才能明确是哪里想错了。脑子里想对了,写成代码性能差不到哪儿去。所谓“零成本抽象”的核心价值就在于让人多去关注如何抽象,而不是去关注抽象的成本
评论区
摩砂学: C++ Core Guide 的第一条就是说的这个 👍🏽38 💭广东 🕐2023-12-24 20:47:02
知乎用户adsYMB: 要写自解释性强的代码 👍🏽25 💭湖北 🕐2023-12-28 17:03:49
李在田: 懂了,这就写rust去[doge] 👍🏽16 💭福建 🕐2024-02-25 15:35:29
charaaaaa: 噪音太多了…感觉默认语义要换一换 👍🏽1 💭广东 🕐2024-06-19 09:08:14
DeckardZ46: 豁然开朗 👍🏽1 💭上海 🕐2024-11-29 16:41:47
aaa: 但是你怎么在写代码之前就想好这些事情? 👍🏽1 💭陕西 🕐2023-12-12 10:23:34
│ └── 真重: 可能有些误解[捂脸]我是说用这些语法表达出“想表达的内容”,不是说动手前要把所有细节全都想清楚 👍🏽0 💭北京 🕐2023-12-12 16:39:27
│ └── momo: 写代码之前要仔细思考,要做好设计,考虑代码结构,考虑资源所有者,各个模块相互关系等等。而不是拿到需求就开始写代码。同时,你写代码会有编码规范,比如编码规范规定对于所有权的语义要使用unique_ptr。对于一个熟练使用c++的人来说,根据一个设计来写代码是不消耗很多时间的,同时遵守一个编码规范写出来的代码是不难理解的。 👍🏽53 💭北京 🕐2023-12-12 22:55:29
│ │ └── aaa: 资源如何定义? 👍🏽0 💭陕西 🕐2024-01-30 10:44:43
│ │ │ └── to change: 不知道如何定义的资源,暂时就不定义。需要的时候自然就知道了 👍🏽0 💭江苏 🕐2024-02-02 10:00:15
│ │ └── aaa: 有什么设计代码的方法论啊。 👍🏽1 💭陕西 🕐2024-03-06 00:38:24
│ └── 烟落尘寰: 写代码之前不先设计吗…? 👍🏽11 💭美国 🕐2024-01-28 22:31:04
│ └── 手刀: 计算机工程就那么些事情。所谓有经验的程序员,比刚看完教材的人强的不就在于,动手前心中已经有这个项目结构的形状了么? 👍🏽0 💭福建 🕐2024-09-10 20:27:12
│ │ └── 知乎用户dnGy0R: 真的如此可靠那么就不会存在一堆失败的项目了 。 而且 , 失败的项目大多是精心设计的 ,而能活下来发展壮大的往往不是精心设计的产品 。 典型的例子有:C , 8086指令集 👍🏽0 💭浙江 🕐2025-02-18 16:35:12
│ └── 7jamBiY: 这是最基本的:如果没想好这些事情,就先别写代码 👍🏽1 💭北京 🕐2024-12-18 22:55:16