- 主题:boost hana有意思,把type computation转换成value computation
结果很多在compile time干的活
都跑到runtime下面去了
法国人的思路清奇。
--
FROM 67.163.48.*
有点深奥
【 在 mvtec () 的大作中提到: 】
: 结果很多在compile time干的活
: 都跑到runtime下面去了
: 法国人的思路清奇。
--
FROM 124.217.189.*
【 在 fanci 的大作中提到: 】
: 有点深奥
我也不明白。
似乎是把一些应该在编译期间计算的问题,拖到了运行期间计算。
JAVA好像一贯如此,它没有宏,所有的值计算都是在运行期间。所有常量值的定义,都要占据存储空间。
--
修改:ylh1969 FROM 221.221.50.*
FROM 221.221.50.*
也不是,大部分的编译期推导工作也可以在编译期完成
主要的优点是你可以把一个type包装成object,然后传入到普通function中去做type 运算。
【 在 ylh1969 的大作中提到: 】
: 我也不明白。
: 似乎是把一些应该在编译期间计算的问题,拖到了运行期间计算。
: JAVA好像一贯如此,它没有宏,所有的值计算都是在运行期间。所有常量值的定义,都要占据存储空间。
--
FROM 67.163.48.*
举个例子?
【 在 mvtec 的大作中提到: 】
: 也不是,大部分的编译期推导工作也可以在编译期完成
: 主要的优点是你可以把一个type包装成object,然后传入到普通function中去做type 运算。
--
FROM 114.86.89.*
比如判断一个class A是否有一个member function F(),
传统的SFINAE需要enable_if或者partial specialization
hana则很简单
// Check if a type has a F method.
auto hasF = hana::is_valid([](auto&& x) -> decltype(x.F()) { });
这时候x可以传入A type的object
【 在 ilovecpp 的大作中提到: 】
: 举个例子?
--
修改:mvtec FROM 67.163.48.*
FROM 67.163.48.*
这个看起来不是runtime计算的吧。
【 在 mvtec 的大作中提到: 】
: 比如判断一个class A是否有一个member function F(),
: 传统的SFINAE需要enable_if或者partial specialization
: hana则很简单
: ...................
--
FROM 114.86.89.*
这个不是
type computation主要是通过type_c来完成。
【 在 ilovecpp 的大作中提到: 】
: 这个看起来不是runtime计算的吧。
--
FROM 67.163.48.*