C++的复习

举报
chenyu 发表于 2021/07/26 23:25:50 2021/07/26
【摘要】 C++的复习 1、命名空间 C++语言引入命名空间(Namespace)这一概念主要是为了避免命名冲突,其关键字为namespace。 科技发展到如今,一个系统通常都不会仅由一个人来开发完成,不同的人开发同一个系统,不可避免地会出现变量或函数的命名冲突,当所有人的代码测试通过,没有问题时,将所有人的代码结合到一起,因为变量或函数重名而导致的问题将会造成一定的混乱,例如: ...

C++的复习

1、命名空间

C++语言引入命名空间(Namespace)这一概念主要是为了避免命名冲突,其关键字为namespace。


科技发展到如今,一个系统通常都不会仅由一个人来开发完成,不同的人开发同一个系统,不可避免地会出现变量或函数的命名冲突,当所有人的代码测试通过,没有问题时,将所有人的代码结合到一起,因为变量或函数重名而导致的问题将会造成一定的混乱,例如:
int  flag = 1;      //小李声明的变量
// ……             //中间间隔若干行代码
bool flag = true;   //小韩声明的变量
如上所示,因为个人习惯不同,小李喜欢声明 int 型变量用于逻辑判断,而小韩则更喜欢采用 bool 类型变量。但两个声明放到同一个函数中的时候,很明显编译器会提示出 flag 变量重新定义的错误。这种问题若不加以处理是无法编译通过的。


可以使用命名空间解决类似上面的命名冲突问题,例如:
namespace Li{   //小李的变量声明
    int flag = 1;
}
namespace Han{   //小韩的变量声明
    bool flag = true;
}
小李与小韩各自定义了以自己姓氏为名的命名空间,此时将小李与小韩的 flag 变量定义再置于同一个函数体中,则不会有任何问题,当然在使用这两个变量的时候需要指明所采用的是哪一个命名空间中的 flag 变量。


指定所使用的变量时需要用到“::”操作符,“::”操作符是域解析操作符。例如:

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/50571826

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。