我可以将相同类型的连续数据成员视为范围吗?例如:

struct X
{
    int a, b, c, d, e;
};

X x = {42, 13, 97, 11, 31};

std::sort(&x.a, &x.a + 5);   // kosher?

最佳答案

不,这是不确定的行为。您将x.a视为数组的第一个元素,实际上并非如此。可能在某些实现上可行,也可能袭击您的冰箱;)

10-06 07:01