我需要在批处理脚本中验证字符串是否为有效的 IPv4 或 IPv6 地址,但显然批处理没有解析 IP 地址的简单方法。
如何在不使用外部工具的情况下在批处理中执行此操作?“外部工具”是指正常 Windows 安装中尚不存在的东西。
“有效的 IPv4 或 IPv6 地址”是指采用 IP 地址格式的字符串,类似字符串的误报999.999.999.999是可以的(即使一些基本过滤是受欢迎的)。根据经验,解决方案至少应该能够区分错误消息和地址。
我知道一个类似的问题已经存在,但是这个问题没有考虑 IPv6,而且它对“有效 IPv4 地址”的定义更加严格(类似999.999.999.999是不可接受的)。
我正在尝试编写一个与整数密切相关的类,因此我在表单中包含了一个转换构造函数
constexpr example::example(const int &n);
Run Code Online (Sandbox Code Playgroud)
我的问题是:如果我随后定义函数
void foo(example n);
Run Code Online (Sandbox Code Playgroud)
我像这样使用它
foo(3);
Run Code Online (Sandbox Code Playgroud)
在我的代码中,整数文字3是否example在编译时在 的实例中转换?
如果没有,有没有办法获得这种行为?
如果是,如果构造函数没有显式声明为,那还会发生constexpr吗?