αλε*_*λυτ 4 c++ this name-hiding
请考虑以下代码段:
struct S
{
S( const int a )
{
this->a = a; // option 1
S::a = a; // option 2
}
int a;
};
Run Code Online (Sandbox Code Playgroud)
选项1是否等同于选项2?是否存在一种形式比另一种形式更好的情况?标准的哪个条款描述了这些选项?
选项1等同于选项2,但选项1不适用于静态数据成员
EDITED:可以使用此指针访问静态数据成员.但是这个 - >成员不能在静态函数中工作.但是选项2将在静态函数中使用静态成员
例如:
struct S
{
static void initialize(int a)
{
//this->a=a; compilation error
S::a=a;
}
static int a;
};
int S::a=0;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2105 次 |
| 最近记录: |