c++基础概念<二>

来源:互联网 发布:商城类app源码 编辑:程序博客网 时间:2024/06/05 09:28

1.没有return语句的函数在结尾处将自动返回void类型.
2.C++中最简单而在MFC中应用最多的
typedef unsigned short int USHORT; #define id 15和const unsigened short id=15;都定义了一个常量,但后者在运行时定义,
且具有类型说明.
3.枚举常量名是一个新类型(可作为类型定义符及函数返回类型);每个符号常量都取一个整数值.
4.如果函数的某形参有缺省值,则其后面的所有形参都必须有缺省值.
5.类的对象所占用的空间是其成员变量所用内存的总和,对象指针指向其首个成员变量地址.对象的函数不占用对象的内存空间。
6.指针用于: A处理自由存储区中的数据; B访问类的成员数据和成员函数; C通过引用传递的方式给函数传递对象或变量。
7.对一个被delete的指针再次使用delete可能导致程序崩溃解决办法是delete一个指针后立即给它赋值NULL,而对一个空指针使用delete是安全的,良好的习惯是new,delete成对出现.
8.面向对象的程序设计思想是什么?
答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象。
9.引用与指针有什么区别?①引用必须被初始化,指针不必。②
引用初始化以后不能被改变,指针可以改变所指的对象。③不存在指向空值的引用,但是存在指向空值的指针。
10.堆栈溢出一般是由于没有回收垃圾资源造成的。
11.构造函数不能声明为虚函数。

12.switch
的参数不能为实型。

13.局部变量可以和全局变量重名,局部变量会屏蔽全局变量。
14.如何引用一个全局变量?
 
可以用引用头文件的方式,也可以用
extern
键字,如果用引用头文件方
式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在
编译期间会报错,如果你用
extern
方式引用时,假定你犯了同样的错误,
那么在编译期间不会报错,而在连接期间报错。全局变量可以在多个头文件中声明,但只能在一个头文件中对其赋初值。
15.
static
全局变量与普通的全局变量有什么区别?
static
局部变量和普通局部
变量有什么区别?
static
函数与普通函数有什么区别?

全局变量
(
外部变量
)
的说明之前再冠以
static
就构成了静态的全局变量。

局变量本身就是静态存储方式,
静态全局变量当然也是静态存储方式。
这两
者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是
整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个
源文件中都是有效的。
而静态全局变量则限制了其作用域,
即只在定义该
变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态
全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因
此可以避免在其它源文件中引起错误。
从以上分析可以看出,
把局部变量改变为静态变量后是改变了它的存储方式

即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,
限制了它的使用范围。
static
函数与普通函数作用域不同。仅在本文件。只在当前源文件中使用的
函数应该说明为内部函数
(static)
,内部函数应该在当前源文件中说明和定
义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使

用这些函数的源文件要包含这个头文件
。static
全局变量与普通的全局变量有什么区别:
static
全局变量只初始化一
次,防止在其他文件单元中被引用
;
static
局部变量和普通局部变量有什么区别:
static
局部变量只被初始化一
次,下一次依据上一次结果值;
15.程序的局部变量存在于(堆栈)中,全局变量存在于(静态区
)中,动态
申请数据存在于(
堆)中。

static

函数与普通函数有什么区别:

static

函数在内存中只有一份,普通函

数在每个被调用中维持一份拷贝

.

.

.

.

0 0
原创粉丝点击