c++ - 可以在构造函数中分配 std::string 吗?

标签 c++

我有以下构造函数:

 TCPConnector(int32_t fd, string ip, uint16_t port,
            vector<uint32_t>& protocolChain, const Variant& customParameters)
    : IOHandler(fd, IOHT_TCP_CONNECTOR) {
        _ip = ip;
        _port = port;
        _protocolChain = protocolChain;
        _closeSocket = true;
        _customParameters = customParameters;
    }

我想知道是否可以在构造函数中安全地分配一个字符串(即 _ip)而无需显式初始化它?

最佳答案

std::stringseveral constructors .在你的情况下,它是默认构造的(到“”),然后被分配一个新值。

考虑将它(和您的其他变量)放入初始化列表中:

: _ip(ip) ...

关于c++ - 可以在构造函数中分配 std::string 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283711/

相关文章:

c++ - glDisable(GL_DEPTH_TEST) 只进行天空球渲染

c++ - 有人可以帮我弄清楚我在这里做错了什么吗?

c++ - 访问隐藏的继承成员

C++ 范围 View 迭代器和运算符->

c++ - 为什么 srand(time(NULL)) 即使我反复重置它也能顺利工作?

c++ - 如何使用 g++ 编译带有根库的 C++ 程序?

c# - 优雅的 Win32 无窗口进程终止

C++ lambda指针/引用内存占用之争

C++ 类元素加入的自动迭代器 vector

c++ - quick_sort 的递归部分是如何工作的?