< />

C++名称空间using编译和using声明 kisara

C++名称空间using编译和using声明

namespace jack{
    double bucket(double n){}
    double fetch;
    struct hill{};
}
namespace jill{
    double fetch;
    double bucket(double n){}
    struct hill{};
}

using 编译直接导入名称空间:

using namespace jack;

using 声明导入指定名称:

using jack::fetch;

一般来说使用using 声明比使用using 编译指令更安全,这是由于它只导入指定的名称,当有局部变量与该名称冲突时,编译器就会发出指示,而using编译导入整个名称空间时会局部变量会覆盖名称空间版本,而编译器不会发出警告,另外,名称空间的开放性意味着名称空间的名称可能分散在多个地方,这使得难以准确知道添加了哪些名称。

kisarawechat kisaraalipay