函数定义之前对字段的引用 我正在通过C++代码库,在头文件(执行器.h)中有公共字段定义 typedef std::pair<ExecutionState*,ExecutionState*> StatePair; typedef std::pair StatePair;

函数定义之前对字段的引用 我正在通过C++代码库,在头文件(执行器.h)中有公共字段定义 typedef std::pair<ExecutionState*,ExecutionState*> StatePair; typedef std::pair StatePair;,c++,function,C++,Function,在cpp文件(Executor.cpp)中有一行 Executor::StatePair Executor::fork(ExecutionState &current, ref<Expr> condition, bool isInternal) { /* function definition */ } Executor::StatePair Executor::fork(ExecutionState¤t,ref条件,bool-isInternal){/*函数

在cpp文件(Executor.cpp)中有一行

Executor::StatePair 
Executor::fork(ExecutionState &current, ref<Expr> condition, bool isInternal) { /* function definition */ }
Executor::StatePair
Executor::fork(ExecutionState¤t,ref条件,bool-isInternal){/*函数定义*/}
在其中,此字段正好在一个成员函数定义之前引用

在定义之前声明字段名的目的是什么?这是范围界定问题吗


谢谢

状态对是一种类型。它在函数定义前面的作用是说明函数的返回类型

注意
StatePair
定义中的
typedef
。它为类型引入了名称别名。在这种情况下,
std::pair
也将被称为
StatePair
,因此您不必编写那么长的类型名

函数的返回类型指定从函数返回的值必须属于的类型。例如,在

int f();
函数
f
必须返回一个整数(
int
),因此我们可以编写如下定义:

int f() {return 0;}
函数体中可能有其他语句,但最后一个语句必须是一个
返回
,后面有一个整数值(在bavode示例中,值为
0

C++不关心新行(把它们当作规则的空白),格式

int
f() {...}

与上述函数相同。

状态对是一种类型。它在函数定义前面的作用是说明函数的返回类型

注意
StatePair
定义中的
typedef
。它为类型引入了名称别名。在这种情况下,
std::pair
也将被称为
StatePair
,因此您不必编写那么长的类型名

函数的返回类型指定从函数返回的值必须属于的类型。例如,在

int f();
函数
f
必须返回一个整数(
int
),因此我们可以编写如下定义:

int f() {return 0;}
函数体中可能有其他语句,但最后一个语句必须是一个
返回
,后面有一个整数值(在bavode示例中,值为
0

C++不关心新行(把它们当作规则的空白),格式

int
f() {...}

与上述函数相同。

我相信这是函数的返回类型:^)是的,我相信这是一个愚蠢的问题。。有一秒钟我觉得很困惑:)我相信这是函数的返回类型:^)是的,我相信这是一个愚蠢的问题。。“我想了一想:”AHOK,我习惯于看到左边的返回类型,所以我想我在C++中有点困惑:“空白”不重要。@ Jord-DIBLIN——除了它的“OH”,我习惯于看到左边的返回类型,所以我想我在C++中有点困惑:空白不重要。@JohnDibling-除非它在哪里