gpt4 book ai didi

C++ 使用关键字

转载 作者:IT老高 更新时间:2023-10-28 22:08:12 25 4
gpt4 key购买 nike

using关键字这两种用法有什么区别:

using boost::shared_ptr;

using namespace boost;

最佳答案

using boost::shared_ptr;

仅包含当前命名空间中 boost 命名空间中的 shared_ptr。这意味着您可以使用 shared_ptr 而不用命名空间 boost 限定它。

它被称为使用声明


using namespace boost;

包括当前作用域中 boost 命名空间中的所有符号。这意味着您可以使用 boost 命名空间中的所有符号,而无需使用命名空间 boost 限定它们。

它被称为使用指令


为什么你总是更喜欢 using 声明 而不是 using 指令

最好使用第一个(using 声明)并避免使用第二个(using 指令),因为第二个会导致命名空间污染通过将潜在的大量名称引入当前命名空间,其中许多是不必要的。不必要的名称的存在大大增加了意外名称冲突的可能性。

引用 Herb Sutter 关于 using 指令 的用法:

我觉得将 using 指令 视为一支由疯狂的野蛮人组成的掠夺大军,在所到之处播下不分青红皂白的破坏,这很有帮助——仅仅因为它的存在就可能导致意想不到的冲突,即使你认为自己与它结盟。

关于C++ 使用关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6973161/

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