- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我现在正在学习 C++,在每个项目的开始,我的导师都会写一行:
using namespace std;
据我所知,它使您不必调用 header 中包含的 header 名称中的函数,例如 iostream::stdout,而只需调用 stdout。
但这行代码究竟告诉 C++ 做什么。什么是命名空间,什么是标准?
除了 python 之外,我也是编程的新手,所以切换到新范式对我来说非常困惑。
最佳答案
来自 cppreference.com:
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.
namespace 可以避免名称冲突,例如标准库定义了 sort()
但对于排序函数来说这是一个非常好的名称,感谢 namespace ,您可以定义自己的 sort()
因为它不会与标准命名空间位于同一命名空间中。
using 指令告诉编译器在当前范围内使用该命名空间,这样你就可以做
int f(){
std::cout << "out!" << std::endl;
}
或:
int f(){
using namespace std;
cout << "out!" << endl;
}
当您使用来自另一个命名空间的大量内容时,它会很方便。
关于c++ - 命名空间到底是什么,为什么有必要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32161199/
这对你们来说可能很简单,但由于我是java新手,所以我想知道实际上什么是 接下来的部分会发生什么? if (args.length > 0) { file = args[0]; } publi
在我的 View Controller 中,我将 UITapGestureRecognizer 添加到 self.view。我在 self.view 之上添加了一个小 View 。当我点击小 View
我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我试图在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。 View Controller 没有初始化器 req
我正在尝试使用 VIM 完成(字典和当前缓冲区),但我遇到了问题?和 !在方法名称的末尾。我能以某种方式向 vim 解释方法名称(基本上是单词)最后只能有它,而且只有一个,即 method_name
我是一名优秀的程序员,十分优秀!