考虑以下代码片段:
struct S
{
S( const int a )
{
this->a = a; // option 1
S::a = a; // option 2
}
int a;
};
选项 1 与选项 2 等效吗?是否存在一种形式优于另一种形式的情况?标准的哪个条款描述了这些选项?
选项 1 与选项 2 等效,但选项 1 不适用于静态数据成员
编辑:可以使用此指针访问静态数据成员。但 this->member 在静态函数中不起作用。但选项 2 将在具有静态成员的静态函数中工作
Eg:
struct S
{
static void initialize(int a)
{
//this->a=a; compilation error
S::a=a;
}
static int a;
};
int S::a=0;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)