operator=
拷贝与赋值。
Addr& operator=(addr_t other);
Addr& operator=(const char* other);
Addr& operator=(const std::string& other);
其中拷贝赋值运算符由编译器默认生成。
Addr& operator=(const Addr&) = default;
如果字符串是不合法的IPv4地址,且DNS查询失败,抛出 NanoExcept
异常。
示例
nano::Addr addr = "10.0.0.1";
addr = (nano::addr_t)0; // 0.0.0.0
addr = "localhost"; // C字符串
std::string str_addr = "192.168.1.1";
addr = str_addr; // C++字符串
try {
addr = "qwq";
} catch (const nano::NanoExcept& e) {
std::cout << e.what() << std::endl;
// [addr] getaddrinfo: Temporary failure in name resolution
}