我有以下构造函数:
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::string
有 several constructors .在你的情况下,它是默认构造的(到“”),然后被分配一个新值。
考虑将它(和您的其他变量)放入初始化列表中:
: _ip(ip) ...
关于c++ - 可以在构造函数中分配 std::string 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283711/