1
2
这是来自
DR80
转述一下,
|
2
0
与C++98相比,放宽关于与C++03中的类具有相同名称的数据成员的规则的动机主要集中在为开发人员提供更大的灵活性和便利。 在C++98中,限制是为了避免代码中潜在的混淆和歧义。允许数据成员与类本身具有相同的名称可能会导致混淆,尤其是对于那些刚接触该语言的人或在维护大型代码库时。 然而,随着C++的发展,开发人员发现在某些用例中,拥有与类同名的数据成员可能是有益的。一种这样的场景是在实现某些设计模式或约定时,类名本身作为成员变量是有意义的。 例如,考虑以下示例:
在本例中,使用名为Employee的成员变量可以使代码更加直观和易于解释。 通过放宽C++03中的规则,在没有用户声明的构造函数的情况下允许这样的使用,该标准在不牺牲代码清晰度或引入重大混乱的情况下适应了这些场景。这一变化为开发人员提供了更多的自由,可以在不违反语言规则的情况下,以与概念模型一致的方式构建代码。 |
dallin · 数组中的逗号运算符是否有名称? 10 年前 |