C ++ :: operator定义

时间:2016-07-23 06:51:32

标签: c++

我是c ++的新手,我理解::运算符用于引用命名空间。例如,在以下对象初始化中,ifstream是std命名空间中的一个类,但构造函数中的第二个参数是什么意思? - ifstream :: in - 据我所知ifstream是一个类而不是命名空间所以请解释一下。

std::ifstream file(filename.c_str(), ifstream::in);

1 个答案:

答案 0 :(得分:0)

$stmt = $connection->prepare("SELECT...WHERE username = ?");
...bind the parameters to $_POST[username], then execute
$stmt->execute()

ifstream::in 的别名,它是类型ios_base::in的类ios_base中的静态成员。这允许您指定打开模式。

范围运算符不仅适用于名称空间,还适用于类/结构,因为它们具有自己的范围。因此,ios_base::openmode,这里somename::可以是命名空间,也可以是类/结构,它可以拥有可以通过范围运算符访问的静态成员:somename