1、在C++种main函数前面为什么要加上数据类型,比如int
、void
?
main函数的返回值时返回给主调进程,使主调进程得知被调用程序的运行结果。
标准规范种规定main函数的返回值为int,一般约定返回0值代表程序无错误,其他值均为错误号,但该约定并非强制。
如果程序的运行结果不需要返回给主调进程,或程序开发人员确认该状态并不重要,比如所有出错信息均在程序中有明确提示的情况下,可以不写main函数的返回值。在一些检查不是很严格的编译器中,比如VC、VS等,void类型的main是允许的。不过在一些检查严格的编译器下,比如g++,则要求main函数的返回值必须为int型。
所以在编程时,区分程序运行结果并以int型返回,是一个良好的编程习惯。
出处:https://www.runoob.com/cplusplus/cpp-basic-syntax.html
2、i++
和++i
的区别?
i++
要先暂存 i 的初值,然后对i进行加1操作,之后返回之前暂存的 i 的初值;
++i
则不需要暂存 i 的初值,直接对 i 进行加1操作以后,返回新的 i 的值就好了。
因此,理论上,i++
在性能上消耗会更高一些;但实际上,这两者实际运行的差距很小,有些编译器会去判断并进行优化。