"std::vector<bool>::referenc,是一个临时变量的引用"
书里限定了考虑一种【特定实现】,std::vector<bool>::reference obj; obj里是指针,指向什么呢?
指向 vector<bool> 的内存block. machine word. 因为 feature[w]返回的是右值,那行结束就析构了,
所以内存block不存在了, obj里的指针,就是dangle pointer.
如果不是这么特殊的实现,auto& = funReturnVectorT()[5]; 可以延长右值的生命周期。
归根结底还是vector<bool>太特殊了。好像Effective里,就有不要用vector<bool>的建议。
【 在 xunery 的大作中提到: 】
: 使用auto定义一个变量他有个一个特性,就是初始变量如果是引用类型,他会把这个属性去掉:
: int a =1;
: int &b = a;
: ...................
--
修改:DoorWay FROM 43.224.212.*
FROM 43.224.212.*