在以下代码中,我看到“声明”,“原型”和“符号”这两个术语可以互换。
void MyUndefinedFunction();
对于这样的事情,“定义”和“实现”也是如此:
void MyClass::MyMethod()
{
// Actual code here.
}
术语之间是否有任何区别,如“参数”和“参数?”或者他们真的是同义词吗?
注意:我不确定这是属于这里还是属于程序员,所以我posted it on both sites.如果有人有任何异议,请告诉我,我会删除一个。
答案 0 :(得分:1)
除非你遇到一个纯粹主义者,否则它们通常是可互换的,除了符号和原型(难以在language-agnostic上给出绝对值)
你错过了函数与方法,但我的定义是:
可能是限制范围的参数提示,因此只读。
注意如果你问一个纯粹主义者,你更有可能拥有参数而不是参数。
答案 1 :(得分:1)
声明和原型之间的区别主要在于C,其中以下是非原型声明:
int foo();
请注意,这与:
不同int foo(void);
后者是不带参数的函数的原型,而前者是函数的声明,其声明类型未在声明中指定。这实际上可以用来避免函数指针类型转换与某些函数指针的使用,但它很容易搞砸,搞乱它会调用未定义的行为。许多C程序员认为非原型声明有害,而gcc有一个警告选项来标记它们。