gpt4 book ai didi

c++ - 访问与局部变量(或参数)同名的成员字段

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:28 26 4
gpt4 key购买 nike

考虑以下代码片段:

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 将在具有静态成员的静态函数中工作

例如:

struct S
{
static void initialize(int a)
{
//this->a=a; compilation error
S::a=a;
}
static int a;
};
int S::a=0;

关于c++ - 访问与局部变量(或参数)同名的成员字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22832001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com