C++老鸟日记016 为什么调用函数前需要进行函数声明

微信公众号: 星点课堂

新浪微博:女儿叫老白

网易云课堂:女儿叫老白

网易云课堂免费课程:《C++跨平台开发中的编译错误》

-----------------------------------------------------------------------------

在每个独立的c文件(.cpp 或,c)是一个翻译单元。编译器在每个翻译单元独立运行,这时它只能看到这个单元。因此头文件所提供的信息是非常重要的,它决定了编译器对程序的其他部分的理解。在头文件中的声明或在cpp的某个部分的声明是非常重要了,这样编译器可以明确知道需要做什么。比如,在头文件中声明:void function(double),编译器知道,如果传入一个整数,那么需要把它转化为都double再调用该接口(这被叫做提升promotion)。如果没有这样声明,编译器简单的假设有一个function(int)存在,它不会做提升,错误数据就会被悄悄传递给function()。因为传输的数据在内存中是按照int格式保存的而非double格式。

---------------------------------------------------------------------------

参考资料:《C++编程思想》两卷合订本中文版P125第一段),(美) Bruce Eckel  Chuck Allison著

猜你喜欢

转载自blog.csdn.net/baizy77/article/details/82532044