C++-将参数分配给函数头中的局部变量



我最近遇到了一个构造函数,它看起来像这样:

classname::classname(index_t m, index_t n) : m(m), n(n) {...}

但是,我不确定: m(m), n(n)是做什么的。我认为它将参数index_t m, index_t n分配给相同类型和名称的局部变量——这种观察结果正确吗?

谢谢!

它被称为初始化列表,用于初始化非静态成员。如果你想避免成员的双重初始化,你通常会使用它们(如果你在主体构造函数中分配成员,那么成员已经存在,所以你正在"加倍"初始化过程(。

您可以在参考资料中找到更多信息:https://en.cppreference.com/w/cpp/language/constructor

最新更新