gpt4 book ai didi

c++ - 如何实例化C++成员字符串引用

转载 作者:行者123 更新时间:2023-11-28 03:04:02 27 4
gpt4 key购买 nike

我有一个类,其中有一个 std::string& 作为该类的成员。我想实例化那个引用,但我没有任何东西可以实例化它,直到稍后。

如何实例化 std::string& 成员?

#include <string>
class Temp {
public :
Temp(): _line("") {}
private:
std::string& _line;

}

最佳答案

在类中使用引用作为成员意味着您从头到尾都使用相同的指向数据。

如果您需要在类的生命周期内初始化它,这是不可能的。一旦你放了一个引用,你就必须自己处理复制和分配。您确定这真的是您想要的吗?

如果您想指向稍后将提供给您的另一个 std::string 或您将存储的 std::string ,则需要一个指针你想要的值(value)。

但是请避免在构造函数中没有传递任何内容时唯一允许你初始化 ref 的东西:

Temp(): _line(*(new std::string)) {} // NEVER EVER !

关于c++ - 如何实例化C++成员字符串引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20126208/

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