小编etc*_*mon的帖子

C++为什么要使用从(std :: string)到(void)类型的隐式转换?

我正在查看CPP-NETLIB的源代码,并且遇到了这种语法,它描述了这些概念.

template <class R> struct ClientRequest : network::Message<R> {
  BOOST_CONCEPT_USAGE(ClientRequest) {
    std::string tmp;
    R request_(tmp);
    swap(request, request_);  // swappable via ADL

    std::string host_ = host(request);
    boost::uint16_t port_ = port(request);
    std::string path_ = path(request);
    std::string query_ = query(request);
    std::string anchor_ = anchor(request);
    std::string protocol_ = protocol(request);

    request << uri(std::string());

    network::http::uri(request, std::string());

    (void) host_;
    (void) port_;
    (void) path_;
    (void) query_;
    (void) anchor_;
    (void) protocol_;
  }

 private:
  R request;
};
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到任何解释,描述范围内类型的(无效)转换是如何必要的或它将做什么.为什么在结束BOOST_CONCEPT_USAGE成员函数之前需要清除堆栈?如果不清除堆栈还会怎么做?

c++ networking type-conversion

5
推荐指数
1
解决办法
228
查看次数

标签 统计

c++ ×1

networking ×1

type-conversion ×1