我甚至不知道如何搜索它,但我试图测试它,仍然无法理解它.下面的代码是什么意思:
boost::asio::io_service::id service::id;
Run Code Online (Sandbox Code Playgroud)
::是范围解析运算符.左侧的名称表示范围; 它可以是命名空间名称或类名.右侧的名称表示该范围的成员.
在您的情况下,似乎有一个类maidsafe::crux::detail::service,其中包含id类型的静态成员boost::asio::io_service::id.在许多情况下,静态成员需要一个类外定义,这是由您发布的代码提供的.
它可以像任何其他C++声明一样进行解析:它声明了一个名为service::idtype的东西boost::asio::io_service::id.我们来看看各个组件.
类型:
boost 是名称空间(在全局范围内)asio 是一个名称空间 boostio_service 是内部的命名空间或类 boost::asioid 是一种类型 boost::asio::io_service名称:
service是一个类名(可能在命名空间内maidsafe::crux::detail)id是一个静态成员maidsafe::crux::detail::service.附录
虽然它没有出现在这个问题中,但是在更现代的C++代码中有时会遇到相关的语法:
namespace maidsafe::rux::detail
{
boost::asio::io_service::id service::id;
}
Run Code Online (Sandbox Code Playgroud)
这已在C++ 17中引入,作为在一行上打开多个名称空间的简写.它完全等同于问题中的代码.
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |