花都营销型网站建设公司,贵州建设项目门户网站,网站建设 收费,广州网站制作系统命名空间 namespace 与 using
namespace
定义 解决变量命名冲突问题不能在代码块中定义 可以在全局或命名空间中定义 同名命名空间会进行合并 未命名的命名空间 相当于该文件的全局变量 using 声明和编译
定义 直接使用命名空间中定义的方法等#xff0c;而不用使用前缀 声…命名空间 namespace 与 using
namespace
定义 解决变量命名冲突问题不能在代码块中定义 可以在全局或命名空间中定义 同名命名空间会进行合并 未命名的命名空间 相当于该文件的全局变量 using 声明和编译
定义 直接使用命名空间中定义的方法等而不用使用前缀 声明命名空间
namespace jblock {int age;int num;
}使用1 命名空间::成员使用2 using声明使用3 using编译jblock::age 1;using jblock::age; age // 可以不用前缀 jblock::num; // 需要前缀using namespace jblock; age // 都不用前缀 num
声明嵌套命名空间
namespace space {namespace s1 { // 嵌套声明 int age}
}
//使用
space::s1::age;命名空间中使用using
namespace space {using std::cout;using namespace space1;
}
// 使用
space::cout;
using namespace space;时 也包含了 using namespace space1;匿名命名空间
namespace {int age
}
// 使用 age; 相当于该文件的全局变量using编译 (using namespace std这种格式) 注意事项
//如果跟全局变量重名 的几种情况
// 情况1
namespace test {int age}; // 命名空间中age
using namepace test; // 期望可直接使用age 不用test::age格式
int age; // 又声明了全局变量age
{int age // 又声明了局部变量ageage // 局部变量::age // 全局变量test::age // 命名空间中变量
}
// 情况2
using namepace test; //同上
int age; // 同上
{::age // 全局变量age test::age // 不同于情况1的点
}using声明 using std::cout; 只取std命名空间中 cout 方法 使特定的成员可用