C++复习数据结构
1.为什么单行的函数定义放在头文件中,多行的不放在头文件中?
答:1、单行的函数定义放在头文件的类内,编译器默认为对其进行内联(inline);2、无论是单行语句还是多行语句,如果把函数放在类外编译就不进行内联编译
2、const和static关键字解决的问题?
答:只读与不只读的问题,static解决的是是否在全局区域的问题
3、static关键字的用法:
答:static局部变量的特点是:a)地址在全局区;b)只有在第一次进入函数时初始化;c)生命期在离开main函数之后结束;d)每次在进入函数时不重新初始化,保留之前进入函数时的数值。
4、static全局变量的yongfa?
答:a)普通全局变量可以跨文件用extern关键字来引用;b)static全局变量不可以用extern关键字来跨文件引用;C)加了static关键字修饰,不同源文件之间可以有同名的全局变量;d)static全局变量的含义是本源文件专用,或者叫本文件私有变量;
5、static成员变量的用法: a)当类内的变量前加上static关键字,就是静态成员变量;b)静态成员变量的地址在全局区,是全局性质的变量;c)只是名义上划归某个类内,但该类的空间不包括成员变量;d)调用方法可以用对象或this指针,也可以 直接指定类名加定义域去调用;e)静态成员变量一般定义为公有,跟对象是无关的
6、static成员函数:一个成员函数如果加上static关键字就是全局函数的性质,只是名义上划归某个类,函数内不含有this指针的形式参数,不可以通过this指针调用本类内的成员(变量和函数 ),
7、关于返回值的?
答:形式参数是由主调函数传送给被调函数的数据接收变量,空间属于被调函数;返回值是被调函数传送给主调函数的数据接收变量,是无名的不可见变量,空间在主调函数中
8、C++97和VC6都同时推出。CList是MFC双向链表类,只限于微软的Windows上VC编译器上使用;std::list是C++类库,在任何操作系统的C++编译器(标准)。CList类内的代码是常见面试题,适合于教学