命名空间到底是什么东西
c++吧
全部回复
仅看楼主
level 5
巨齿鲨c 楼主
教程上总是有一行using namespace std;
感觉上像是头文件一样的东西,又好像是一个类一样,可以在类外用std::cout调用cout函数,所以命名空间到底是个啥[小乖]
2023年03月31日 23点03分 1
level 10
Namespaces provide a method for preventing name conflicts in large projects.
Symbols declared inside a namespace block are placed in a named scope that prevents them from being mistaken for identically-named symbols in other scopes.
Multiple namespace blocks with the same name are allowed. All declarations within those blocks are declared in the named scope.
2023年04月01日 01点04分 2
在哪抄的?[你懂的]
2023年04月01日 01点04分
2023年04月01日 03点04分
level 5
命名空间就是一个作用域,也就是一个范围,use namespace std就是引入这个作用域,那么这个范围里面的东西你就可以拿来用了。
2023年04月01日 03点04分 3
level 8
使用using namespace std这种方式,用了这种方式,就相当于引入了std里面所有的关键字,可能会引起重名的麻烦
2023年04月01日 05点04分 4
level 7
c/c++中作用域概念的延伸,起始c++中每个{}都是一个作用域,只是命名空间是有名作用域,当前作用域内的内容只对当在当前作用域可见。
你可以这样想,我们一般不写作用域的命名空间就是一个匿名命名空间,就相当于一间房子,其命名空间是::,大家公用的,如果没有被隐藏的话大家都能看到房间内的东西。然后新建的命名空间就是在房间内新隔了一个房间,比如小房间A就是命名空间A,如果房间内的人想看小房间内的东西,必须指定对应的东西在小房间A内就是A::a,不然只会默认这个物品a在大房间里,可能能找到同名的也可能找不到。
2023年04月01日 12点04分 5
level 3
可以简单理解成类似于头文件的东西[呵呵]
2023年04月03日 15点04分 6
level 10
区分同名函数。
2023年04月08日 16点04分 7
level 5
作用域
2023年04月09日 13点04分 8
1