但它完全没必要地带了T和Class类型,导致你每个Class都对应一套Member,
每个class都对应一套Member,——这点有道理。我看到这种方案时,第一反应也是这。我主要是担心编译慢。在另一处看了类似方案,目前主流都是每个类背后一个tuple。于是就随流了。
Class类型和void*对比,不能完全说多余。类型安全,不会传错obj。这是除了面向对象,我学cpp排第二的根深蒂固的思想。
offsetof哈,我以为得自己手写,原来编译器支持的啊。我确实不知。刚查了下,搞不懂standard layout的requirement。 不如T Class::* 这种语法,虽然佶屈聱牙,但是浅,心智负担不大。
【 在 ilovecpp 的大作中提到: 】
:
: 很简单,它这个Member类完全可以与对象类型无关:
: template <typename T>
: ...................
--
FROM 1.80.241.*