本来编程实战第一天是昨天,但是昨天弄完事情已经算很晚了所以就留到了今天早上来写昨天的收获。
下面说一下关于头文件的一些注意事项(小女子才疏学浅,若有错误,还望指正,嘤嘤嘤):
文件要包含版权,作者,和日期。写在头文件的开头,如下所示:
/*...
版权
作者
日期
...*/
头文件只能存在变量和函数的声明,而不能存放定义。这样是为了避免当头文件被两个或两个以上的.cpp文件包含的话,编译器会因为出现了重定义而报错。但是有三种情况例外:
1.头文件中可以包含const,static变量的定义。因为const,static定义的变量默认为没有extern的变量的声明,他只在当前文件中有效。
2.头文件中可以写内联函数的定义。C++规定,内联函数可以被定义多次,只要在多个文件中定义的代码是一样的那么就可以通过编译。在这样的情况下,将内联函数定义在头文件中不但不会报重定义的错误,还会使程序员编写的代码更简洁。
3.头文件中可以写类的定义。原因和inline函数比较类似。
若是不小心写了不是以上三种的定义,可以通过宏定义#ifndef #define #endif来解决这个问题,即在一个头文件(假定这个头文件的名字为a_.h)的预处理部分加上如下代码即可:
#ifndef A_.H//此处不一定是A_.H,只要能够将此文件与其他文件区分的记号都可以,因为文件路径+文件名字名不会重名,所以用文件路径+文件名字名来区分是一个比较好的选择,此处的例子就简单用了文件名来区分,读者要有这个意识就可以了
#define A_.H
..... //程序主体代码
#endif
还有一些编程小技巧。
1.当我们在做一个项目时,可以定义一些宏去修饰我们的输入输出变量,这样会使得代码的可读性更强,而且也不会那么容易出错。eg:预处理部分加上#define IN_PARAM
#define OUT_PARAM
....//
Book *query2(IN_PARAM string bn) //此处的bn标识要输入的参数
2.在全局变量后加上g或者gl。例如 iMax_g
好了,昨天就到这里吧。希望今天有更多的收获,加油哦。