使用相同的构造函数参数和成员变量名称
问题:
是否允许使用与构造函数参数相同的名称初始化成员变量,如下所示代码?
class Blah { std::vector<int> vec; public: Blah(std::vector<int> vec): vec(vec) {} };
答案:
是的,这种做法完全符合C标准。根据标准第 12.6.2/7 节:
Names in the expression-list of a mem-initializer are evaluated in the scope of the constructor for which the mem-initializer is specified.
这意味着在构造函数初始化列表中,可以使用与构造函数参数相同的名称来引用成员变量。因此,您提供的代码既合法又保证可以正常工作。
其他信息:
以上是构造函数参数和成员变量可以具有相同的名称吗?的详细内容。更多信息请关注PHP中文网其他相关文章!