我有以下构造函数:
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;
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否可以在构造函数中安全地分配字符串(即_ip)而不显式初始化它?
std::string有几个构造函数.在您的情况下,它是默认构造(到""),然后分配一个新值.
考虑将它(和您的其他变量)放入初始化列表中:
: _ip(ip) ...
Run Code Online (Sandbox Code Playgroud)