如果只有值的话,const 就够了,出现 constexpr 就是现代 c++ 里面一大堆 lambda, c++ 自己不知道这些函数能够在编译期计算出来。所以需要程序员在代码里面给点提示。
auto 也是因为很多 lambda 的类型已经不是程序员可以写出来的,要么是太长了,要么是跟着泛型编程传入的参数而变化,所以只好用 auto 让编译器自动推断。
泛型编程当年也是毒瘤。要是早点有 any,或者有 object 基类,学 Java 把 int 打包到 Integer 里面后面就不会发明这么多语法了。更不会出现 concept 这么复杂的东西。
最近我 c++ 协程用多了,发现有了协程,c++ 真的没必要搞以前那么复杂。因为已经完全不需要用回调函数了,很多功能,甚至 shared_ptr<> 的使用都大为减少。
【 在 DoorWay 的大作中提到: 】
: 感觉你知识学杂了。
: std::function还沾点边。解决函数是first class的问题
: constexpr重点是编译期计算吧,减少运行期开销。
: ...................
--
修改:hgoldfish FROM 59.61.198.*
FROM 59.61.198.*