gpt4 book ai didi

c++ - boost::asio::ip::address::from_string 在无效地址上没有抛出异常

转载 作者:搜寻专家 更新时间:2023-10-31 00:27:28 25 4
gpt4 key购买 nike

有没有人知道为什么:

boost::system::error_code ec;
boost::asio::ip::address const addr =
boost::asio::ip::address::from_string("10.10.10", ec);

不返回错误,因为 10.10.10 是无效地址?

不是这个 10.10.10 在 addr 中修改为 10.10.0.10 并且没有抛出异常吗?

最佳答案

boost::asio::ip::address::from_string() 在内部依赖于 inet_pton(),它接受像 10.10.10 这样的东西作为有效地址。字符串“10.10”用于两个顶部八位字节。剩余的“10”被解释为 16 位数字并分成最后两个八位字节。总之,这被正确解释为 10.10.0.10 。

此外,您的调用 boost::asio::ip::address::from_string("10.10.10", ec); 不会抛出,因为它使用 boost::system::error_code.

关于c++ - boost::asio::ip::address::from_string 在无效地址上没有抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48864983/

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