感谢回复
p = Access<int A::*>::ptr; // Access<int A::*>::ptr 是在静态成员tr的构造里初始化好的
在这句里面,是不是可以理解为把a.data_ 的地址 赋值给Access<int A::*>::ptr
模板这种用法第一次见,谷歌也没搜到这种解释,即通过对象 调用 一个 不属于其的成员函数(本例为Access类)
或者说,编译器是怎样做的,能将a::data_的地址 传给Access里面
【 在 z16166 的大作中提到: 】
: 感觉属于奇技淫巧吧
: 这句定义了一个偏特化后的类型,它有个静态成员tr
: template struct PtrTaker<&A::data_>;
: ...................
--
修改:namelij FROM 39.155.212.*
FROM 39.155.212.*