igg*_*012 3 c++ inline-functions function-prototypes function-declaration
内联函数和main之间有什么区别,如下所示:
inline double cube(double side)
{
return side * side * side;
}
int main( )
{
cube(5);
}
Run Code Online (Sandbox Code Playgroud)
vs只是定期声明一个函数:
double cube(double side)
{
return side * side * side;
}
int main( )
{
cube(5);
}
Run Code Online (Sandbox Code Playgroud)
vs功能原型?
double cube(double);
int main( )
{
cube(5);
}
double cube(double side)
{
return side * side * side;
}
Run Code Online (Sandbox Code Playgroud)
一个inline功能可以在多个翻译单元(CPP文件+包括)来定义,并且是一个提示到编译器内联的功能.它通常放在标题中,这会增加编译时间,但可以导致更快的代码.它还允许从许多编译单元使用该函数.
//cube.h
inline double cube(double side)
{
return side * side * side;
}
//cube.cpp
int main( )
{
cube(5);
}
Run Code Online (Sandbox Code Playgroud)
定期定义它是常规方法,它通常在cpp文件中定义,并链接.它不容易从其他编译单元使用.
//cube.cpp
double cube(double side)
{
return side * side * side;
}
int main( )
{
cube(5);
}
Run Code Online (Sandbox Code Playgroud)
原型允许您告诉编译器链接时存在一个函数,即使它还不存在.这允许main调用该函数,即使它还不存在.通常,原型在头文件中,因此其他编译单元可以调用该函数,而无需自己定义.这具有最快的编译时间,并且该功能可以很容易地从其他编译单元使用.
//cube.h
double cube(double);
//cube.cpp
int main( )
{
cube(5);
}
double cube(double side)
{
return side * side * side;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4567 次 |
| 最近记录: |