gpt4 book ai didi

c++使用声明关键字用法在Boost库的示例中看到

转载 作者:行者123 更新时间:2023-11-27 23:26:21 24 4
gpt4 key购买 nike

我注意到了

#include <iostream>
#include <boost/array.hpp>
#include <boost/asio.hpp>

using boost::asio::ip::tcp;

int main(int argc, char* argv[]){
....
}

使用 using boost::asio::ip::tcp 而不是 using namespace 其中 tcp 是一类。有人可以告诉我以这种方式编写它有什么好处吗?

最佳答案

您不会使用 namespace boost::asio::ip 的所有内容填充全局命名空间。

您只使用您需要的。举个例子:

namespace A
{
void foo() {}
void goo() {}
}

namespace B
{
void foo() {}
void goo() {}
}

如果你要这样做

using namespace A;
using namespace B;

尝试调用这些方法时会出现歧义。

但是你可以这样说:

using A::foo;
using B::goo;

歧义就会消失。

当然,最安全的方法是完全不使用 using 并在每次使用时完全限定名称。

关于c++使用声明关键字用法在Boost库的示例中看到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9190114/

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