学C++中的一个小问题

[复制链接]
查看11 | 回复0 | 2007-10-16 21:36:42 | 显示全部楼层 |阅读模式
在标准C++中,举个列子:int main(){for(int i=0;i<10;i++){ //一些操作}for(int i=0;i<10;i++){//另外一些操作}}我们在同一个函数中定义了两个i,但是实际上这是合法的(虽然在一些陈旧过时的编译器上过不去)。就是不同的作用域。同样,我们可以声明这样的一个全局函数:int strtoint(string str)//将字符串转整型。也可以这样:class Alter{ public: .....//略 public:
int strtoint(string str);}名字也一样,而作为成员函数的strtoint将不会和其冲突,我们可以把这里的Alter看作是一个命名空间。同样我们也可以声明自己的命名空间。声明就是namespace(如果我没记错的话)namespace kk{ //kk部分}namespace dd{//dd部分}在这两个部分我们同样可以声明两个一样名字的函数或者变量。访问就是dd:xx(); kk::xx();这和Std不用using指令一样:std::cout<<"Hello world!<<std::endl;就这样。如果没有命名空间声明,则我们对两种不同的应用都有同样感兴趣的一个名字,则冲突了,我们可以用命名空间来将其分开即可。岂不两全其美?希望我说的你能明白。呵呵。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行