我可以将相同类型的连续数据成员视为范围吗?例如: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视为数组的第一个元素,实际上并非如此。可能在某些实现上可行,也可能袭击您的冰箱;)