1.static有什么用途?(请至少说明两种) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
( X( v3 I+ b" e) `! x6 d 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
* ] A# h. [2 y- M/ O, b 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用( m1 {$ `1 v. @- P$ N/ Q
2.引用与指针有什么区别?
) q. V3 ~4 m& e( G6 Y 1) 引用必须被初始化,指针不必。3 S8 l, g/ M8 ]* y$ F+ ]& Q
2) 引用初始化以后不能被改变,指针可以改变所指的对象。' p& ~* d2 {) `0 s4 S
3) 不存在指向空值的引用,但是存在指向空值的指针。
8 b; A7 W3 h7 H& w/ j( Q" x1 f 3.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。+ u3 ?4 z# G! l" C4 d+ d
4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
0 t0 B! P. I8 m 全局变量储存在静态数据库,局部变量在堆栈。
! X+ b$ K; {' A2 E 5.什么是平衡二叉树?
# @" d2 c) B. N6 L$ f 左右子树都是平衡二叉树 且左右子树的深度差值的绝对值不大于1。 p' \1 c2 l- y3 H, P
6.堆栈溢出一般是由什么原因导致的?+ B9 U0 [; I1 @
没有回收垃圾资源。
* r' g! ^6 ]. M6 ? 7.什么函数不能声明为虚函数?
6 u# }! H* R4 p, t7 |4 `9 l' ?' h5 b0 X1 E- h4 f* k
constructor函数不能声明为虚函数。 |