小编ric*_*vdh的帖子

如何在Python中解析host:port对

假设我有一个格式为的字符串host:port,其中:port可选。如何可靠地提取这两个成分?

主机可以是以下任何一个:

  • 主机名(localhostwww.google.com
  • IPv4文字(1.2.3.4
  • IPv6文字([aaaa:bbbb::cccc])。

换句话说,这是跨Internet使用的标准格式(例如URI:https://tools.ietf.org/html/rfc3986#section-3.2上的完整语法,不包括“用户信息”组件)。

因此,一些可能的输入和所需的输出:

'localhost' -> ('localhost', None)
'my-example.com:1234' -> ('my-example.com', 1234)
'1.2.3.4' -> ('1.2.3.4', None)
'[0abc:1def::1234]' -> ('[0abc:1def::1234]', None)
Run Code Online (Sandbox Code Playgroud)

python

5
推荐指数
2
解决办法
936
查看次数

C++ 11:我可以创建一个类型具有删除的析构函数的字段吗?

我有一个类型,其析构函数已被显式删除; 我想使该类型的实例成为另一个类的成员.

我的期望是,如果没有尝试删除包含类的实例(即包含类的析构函数将无效),应该没问题.

但是,当尝试实例化父类的构造函数时,clang(v3.3)和g ++(v 4.6.3)都会出错.

例如:

class DeletedDtor 
{
  public:
    DeletedDtor() {}
    ~DeletedDtor() = delete;
};

class MyClass
{
  public:
    MyClass() = default;
    ~MyClass() = delete;

  private:
    DeletedDtor a;
};

int main() {
    MyClass *p = new MyClass();
}
Run Code Online (Sandbox Code Playgroud)

在g ++下,这给出了:

test.cpp: In function ‘int main()’:
test.cpp:19:30: error: use of deleted function ‘MyClass::MyClass()’
test.cpp:11:5: error: ‘MyClass::MyClass()’ is implicitly deleted because the default definition would be ill-formed:
test.cpp:11:5: error: use of deleted function ‘DeletedDtor::~DeletedDtor()’
test.cpp:5:5: error: declared here …
Run Code Online (Sandbox Code Playgroud)

c++ c++11

3
推荐指数
1
解决办法
416
查看次数

标签 统计

c++ ×1

c++11 ×1

python ×1