- 主题:c++太复杂了,我承认这几行代码我一辈子写不出来
想多了,写代码又不是研究相对论和四大作用力统一,也不是搞黎曼猜想
再说现在不光可以让AI讲解,还可以让AI写这种
--
FROM 111.199.144.*
很实用的
编译期的变参函数,也很常见。
除了线程池/回调,给脚本引擎导出native函数接口也能用到。
用纯C,就只能是va_start/va_end那套宏,没有编译期的类型安全检查
【 在 dreamr 的大作中提到: 】
: 这种写法纯属炫技
--
修改:z16166 FROM 111.199.144.*
FROM 111.199.144.*
CTO还管这么具体到代码层次的?一般是架构师或者SQA管吧
萝卜白菜各有所爱,一个team严令禁止的,另一个team也许是允许的,心态开放点,世界是多样的
【 在 smartbear 的大作中提到: 】
: 公司里面碰到这种写代码的,CTO第一件事情就是让他改,或者滚
:
--
FROM 111.199.144.*
跟这样写的人多少没关系。ai学过这种语料,它咋写跟提示词有关。你要是要求它用老式的callback函数指针来搞线程池的任务队列,它一样写
【 在 buildtolast (buildtolast) 的大作中提到: 】
: 是因为很多“人”这么些,所以AI才被训练成这样。
:
:
: 【 在 newzzdx 的大作中提到: 】
--
FROM 116.130.208.*
技术领域的“朴素”可能也是分阶段的
对于Pure C和legacy c++这个阶段,和对于modern c++这个阶段,“朴素”可以有不同的解释。对于熟悉modern c++的人来说,楼主的代码是很容易看懂的
用别的语言(比如Rust)来实现可变参数的线程池的任务队列,也有那个语言特有的抽象方式,要掌握同样有学习成本
【 在 wrapper (wrapper) 的大作中提到: 】
: 伟大的文学作品语言一定是朴素的.莫言
: - 来自 水木社区APP v3.5.7
: 【 在 smartbear 的大作中提到: 】
: : C++真正做过大项目的高手,都是用C风格写C++
--
FROM 122.96.33.*
恰恰相反,这才是精简的设计。
最简单的办法,是把楼主那个代码丢给AI,让ai用js、rust等语言写出等价的函数,对比一下
【 在 god4 (昵称) 的大作中提到: 】
: 复杂倒也没那么复杂,但这几行代码确实是设计上的垃圾,既无美感,而且根本没必要
: --
:
:
--
FROM 220.205.233.*
这不重要。我想表达的是“精简”
【 在 aosp (安卓开源计划) 的大作中提到: 】
: 不是设计出来的,是重构出来的
:
: 【 在 z16166 的大作中提到: 】
: : 恰恰相反,这才是精简的设计。
--
发自xsmth (iOS版)
--
每天半小时节奏光剑,预防老年痴呆
※ 修改:·z16166 于 Sep 27 15:21:22 2025 修改本文·[FROM: 220.205.233.*]
※ 来源:·水木社区
http://www.mysmth.net·[FROM: 220.205.233.*]
修改:z16166 FROM 220.205.233.*
FROM 220.205.233.*
开发工具是厂商或者社区干的,比如ms或者apple,gcc社区。
楼主代码里以std打头的都是库。
框架不是有qt那些?
所以你是要求谁要把所有的这些全都大包大揽呢?
【 在 quicker () 的大作中提到: 】
: 一个天天热衷于语法上雕花的语言,天天以玩弄密宗语法为乐,沉醉于自我陶醉的智力优越感中
: 正经的辅助开发工具、库和框架一个不干,我愿称之为编程行为艺术
: 别的语言没这些不也照样写程序
: --
--
FROM 220.205.233.*
难者不会,会者不难。还是那句话,又不是搞黎曼猜想。
一直躺在那里刷手机,却还梦想着成为亿万富翁,可能吗
【 在 buildtolast (buildtolast) 的大作中提到: 】
: 熟悉现代c++其实挺难的。。
:
:
: 【 在 z16166 的大作中提到: 】
--
FROM 220.205.233.*
这样的大高手是哪些?是都叫“莫须有”吗?哈哈
【 在 smartbear (大勇) 的大作中提到: 】
: C++真正做过大项目的高手,都是用C风格写C++
: 【 在 buildtolast 的大作中提到: 】
: : template <class F, class... Args>
: : auto ThreadPool::Enqueue(F &&f, Args &&...args) -> std::future<typename std::result_of<F(Args...)>::type> {
--
FROM 220.205.233.*