1-1 基础介绍
1 函数
- 函数名
- 参数列表
- 返回值
- 函数体
对于每一个C++程序,最后在编译结束后要运行的都是一个可执行二进制文件,而这个文件的入口就是所写的main函数,那么首先以main函数为例进行一个了解,在多数情况下使用时不需要写参数列表,但main函数是有隐含参数的:
int main (int argc, char ** argv)
其中argc
表示的是你在命令行运行时所传入的参数个数,argv[]
则是将你所传入的参数保存下来的一个数组,可以通过一个程序来简单了解:
#include <iostream>
int main(int argc, char** argv) {
for(int i=0;i<argc;i++){
std::cout<<argv[i]<<std::endl;
}
std::cout << "Hello, World!" << std::endl;
return 0;
}
用g++编译后,输出./a.out abc def
传入两个参数abc和def,可以得到如下结果:
./a.out
abc
def
Hello, World!
可以看到argv
默认我们传入的第一个参数为文件本身,然后才是我们所传入的参数。
有了函数名、参数列表、函数体后就是返回值了,mian
的返回值指示了我们程序的运行成功与否。
2 了解一个概念:string literal
在一些国外教程里总会看到string literal
或者int literal
的说法,literal
实际在程序中就是代表着一个固定的值,比如string literal
的形式可认为是const char[]
3 C++命名规则
相关命名规则可参考Google C++ Style,这里介绍了C++的一些规范,比如我们命名一个变量名时应该是由字母和下划线组成,如global_price
这样的命名方式更合适。
4 全局变量名与局部变量名不应一样
好多时候全局变量和局部变量名字一样会使得你在使用过程中产生误判。在大型工程中,通常会采用分文件编写,有时可能会在无意中命名相同的变量,在后续会介绍命名空间,一种防止不同文件变量名冲突的解决方法。