转 C++面试题
1.static有什么用途?(请至少说明两种) 1)函数体内,声明为static的变量,在函数调用中其值不变。 2) 在同一个文件内(但在函数体外),声明为静态的变量,可被本文件内所有函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用 2.引用( &)与指针(*)有什么区别? 1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 3) 不存在指向空值的引用,但是存在指向空值的指针。 4) 引用没有 const,指针有 const,const 的指针不可变; 附:int &ra=a; //引用ra,是变量a的引用,即别名 & 在此不是求地址运算,而是起标识作用。 声明引用,必须同时对其初始化。 引用声明完,相当于变量有两个名称。 引用本身不占有存储单元 不能建立引用的引用,指向指针的引用(int && n ; int &*p 为错误的 int *&q;正确) 3.描述实时系统的基本特性 时间约束性 可预测性 可靠性 4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库 局部变量在堆栈。 局部变量会屏蔽全局变量 全局变量运行时会更快(不用再分配空间) 5.什么是平衡二叉树?