fre*_*low 16 c++ iterator stl object-layout c++11
我可以将同一类型的连续数据成员视为范围吗?例如:
struct X
{
int a, b, c, d, e;
};
X x = {42, 13, 97, 11, 31};
std::sort(&x.a, &x.a + 5); // kosher?
Run Code Online (Sandbox Code Playgroud)
Pau*_*ans 15
不,这是未定义的行为.你正在对待x.a
数组的第一个元素,它不是.可能会在某些实现上工作,也可能会袭击你的冰箱;)