【发布时间】:2013-12-09 21:50:02
【问题描述】:
我在 C++ 文件中遇到过这个顶级函数。 所以我的问题是:
-
smt2::parser类型声明到底在做什么? - 这个功能叫什么?
- 与定期拨打
p(ctx, is, interactive);有何不同?
代码如下:
bool parse_smt2_commands(cmd_context & ctx, std::istream & is, bool interactive) {
smt2::parser p(ctx, is, interactive);
return p();
}
不幸的是,到目前为止,我无法使用 grep 找到 p() 的定义。当我找到定义时,我会更新帖子(手动跟踪标题包括可能需要一段时间)。
【问题讨论】:
-
在 smt2::parser 中查找函数调用运算符。见stackoverflow.com/questions/2349867/…
-
这是一个C++风格的对象初始化。
-
这是一个对象实例化,然后调用
smt2::parser::operator()。 -
smt2::parser 是一种类型。 p 是一个实例。 (ctx, is, interactive) 是构造 p 的参数。
-
@KeithSmith 此代码中不涉及任何默认构造函数。 Kate 只是在
p()调用stm2::parser::operator()方面是正确的,但这不是 OP 好奇的那一行,也没有调用它的默认构造函数。
标签: c++