我来自 C 工作环境,刚接触 C++。 请帮助完成以下声明。
在一些函数 foo() 中,我找到了这段代码。
::ifstream ifObj;
我知道它正在声明输入文件流对象。
但是我完全不知道这里的::
范围解析这个概念。
这是什么以及为什么在对象声明中使用它。
到处都找不到,所以才问。
最佳答案
专门针对您的问题,
就是让编译器在追溯类型ifstream的来源的同时解决消歧问题。
ifstream 可以在像 boost 这样的第三方库中声明以提供不同的含义,
考虑一下,
namespace boost {
typedef int ifstream;
}
using namespace boost;
//but here you want global ifsteam, not from boost, so
::ifstream ifObj; // Here you are creating a object for global ifstream, not for boost's ifstream,
关于c++ - 什么是::in 声明以及为什么使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18741742/