成员初始化列表如何使用字符指针



我知道成员初始化列表可以用于初始化已知大小的对象和变量。

但是,成员初始化列表实际上是如何处理指针的,特别是const char*指针,如下面的MyClass所示?它会简单地指向我传入的const char*的内存位置吗?

class MyClass
{
public:
MyClass(const char* str): _str(str)
{
}
private:
const char* _str;
};

是的,它将简单地用str初始化_str,即使_str指向str所指向的相同内存地址。

我知道成员初始化列表可以用于初始化已知大小的对象和变量。

成员初始化列表可用于初始化成员和基本子对象。那些总是有已知的尺寸。

然而,成员初始化列表实际上是如何与指针一起工作的

所有指针都有已知的大小。

它会简单地指向我传入的const char*的内存位置吗?

是。这就是指针值。

最新更新