C++编程01(双冒号作用域、命名空间的使用、using声明和使用、const)

#1 全局变量和局部变量:就近原则。
#2 双冒号 作用域运算符 ::全局作用域 可确定作用域
#3 命名空间 namespace 主要用途用来解决命名冲突的问题
#3-1 命名空间下可以放 函数、变量、结构体、类。
#3-2 命名空间必须定义在全局作用域下。
#3-3 命名空间可以嵌套。
#3-4 命名空间开放,可随时往原先命名空间添加内容。

// 在头文件中进行定义
namespace LOL
{
  void cat();
}
namespace PPT
{
  void cat();
}
// 在CPP文件中实现
// 在使用时,加作用域就好
void PPT::cat(){
  cout<<"success"<<endl;
}
int main(){
  PPT::cat();
}

#3-5 无名、匿名命名空间,相当于写了static int m_c
只能在当前文件内使用
#3-6 可以起别名
namespace veryLongName = p;//这两个都可以用

#4 using声明与编译

// using 声明 注意避免二义性
void test01()
{
int m_S = 10;
using namespace::m_S ;
// 此时程序即出现二义性
cout<<m_S <<endl;
}
void test02()
{
int m_S = 10;
using namespace PPT ; // 只是打开该命名空间,并没有声明使用
// 此时程序没有问题
cout<<m_S <<endl;
}

#5 const增强使用 不可修改,取地址系统内部会分配临时地址
#5-1 只要分配内存的,就可以改变其值

// 不可修改
const int m_B=20; // 收到保护,不可修改
void test07()
{
    const int m_B=20;
    // 这样仍然不可修改m_B的值,此时内存为m_B开辟临时空间,指针p指向的是临时的地址
    int *p =(int*)&m_B; 
}

#6 const增强使用 c++默认是内部连接,只有在当前文件夹可以访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值