Dov*_*Dov 0 c++ initializer-list
在C++中,我们可以在构造函数中使用赋值来初始化对象,或者我们可以使用初始化列表.对于const数据成员或作为对象的数据成员,初始化列表是唯一的方法.但是,当参数的名称与数据成员的名称匹配时,this-> name(name)不起作用.如果名称相同,有没有办法做到这一点?
class A {
private:
int _x,y;
public:
A(int x, int y) : _x(x), // this works
this->y(y) // this does not work
{}
};
Run Code Online (Sandbox Code Playgroud)
我想也许这是一个操作顺序问题所以我试过:
(这 - > Y)(y)的
但那也不对.
您只需使用构造函数初始化列表:
A(int x, int y) : _x(x), y(y) {}
Run Code Online (Sandbox Code Playgroud)
没有理由介入this这里.
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |