下载此文档

C++常见面试问题.doc


文档分类:管理/人力资源 | 页数:约25页 举报非法文档有奖
1/25
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/25 下载此文档
文档列表 文档介绍
常量指针和指针常量:
常量指针:const int* p:指针指向一个常量,const修饰*,也就是说,*p是常量,不可变,但p是变量,p可变(指向内容不可变,指向可以改变),不需要初始化,可以在定义后赋值。
指针常量:int* const p:指针是一个常量,const修饰p,即是p是常量,p不可变,但指向的*p可变。(指向不可变,内容可变),必须初始化
堆和栈的生长方向?
答:对于堆来讲,生长方向是向上的,也就是向着内存地址增加的方向;对于栈来讲,他的生长方向是向下的,是向着内存地址减小的方向增长。
Dynamic_cast,const_cast,static_cast,reinterpret_cast区别:
答:(1)dynamic_cast:基类和派生类之间的转换,运行期间,会检查这个转换是否可能。表达式dynamic_cast<T*>(a) 将a值转换为类型为T的对象指针。如果类型T不是a的某个基类型,该操作将返回一个空指针。
(2)static_cast<T*>(a):编译期间处理,T和a必须是指针、引用、算术类型或枚举类型,运行时转换过程中,不进行类型检查保证安全。
(3)const_cast<T*>(a):去掉类型中的常量
C++编译流程:
答:
预处理:对所有伪指令进行处理(#开头的指令,如#define,#if),删除注释,添加行号和文件名标识,保留#pragma指令
编译:对文件进行词法分析、语法分析、语义分析、优化,产生相关的汇编代码
汇编:将汇编代码文件翻译成机器指令,生成目标程序文件(),该文件为二进制文件。
链接:通过链接器将一个个目标文件链接在一起生成一个完整的可执行文件。(会发现有声明但没有定义的文件)
enum类型占内存大小是多少?
答:无论enum有多少个成员,enum的大小都是4字节
质数:比1大的整数中,除了1和本身,再没有其他因数的整数称之为质数,1不是质数也不是合数。质数一定是正数,因为比1大
enum test{
test1,test2=2,test3=1,test4
};
上面代码中,test1,test4的值是多少?
答:test1的值是0,test4的值是2,默认的值随前一个变量加1.
类成员中,如果有enum类型的定义,(不是成员变量),该定义是不占内存的!
Enum类型中,如果不指定值,那么第一个默认的值是什么?
答:默认为0,后面一次增加1.
用new生成对象时,加括号和不加括号的区别。
答:
使用构造函数注意事项:
<1> 构造函数的函数名必须与类名相同,而且没有返回值,更不能用void来修饰。
<2> 当一个类没有定义构造函数时,编译器会为每个类添加一个默认的构造函数。默认构造函数访问权限是public的,且为inline函数(常识)。
位运算符:
如何判断字符指针是否已经到了字符串的末尾?
答:,然后判断字符串名减指针是否小于N
(0)。
如何快速交换两个指针?
Int* temp = p1;
P1 = p2;
P2 = temp;
Char str[10]=”abc”;
那么sizeof(str) = 10;
Strlen(str)=3,不算结束符的字符个数。
但,
若char str[]=”abc”;
Sizeof(str)=4;
Strlen(str)=3;
可以使用[]的容器包括:vector,deque.
当元素唯一且需要排序的时候,应选用容器set(键值相等)或map(键值不一样)。Set和map都会自动对元素进行升序排序。当元素不唯一且需要排序的时候,可选用multimap或者multiset。虽然也可以选用vector,但vector不会进行自动排序,调用sort函数,并且需要调用unique和erase函数才能使到元素唯一。
自定义的类型需要排序时,重载==和<、>运算符
Deque常见用法:
答:deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素。操作包括:
仿函数是什么?
答:C++中仿函数是通过重载()运算符实现的,创建一个类似函数行为的对象。
例如,在一个类中实现:
Int operator()(int x,int y)
{
Return x+y;
}
仿函数的作用:使到迭代和计算分离。例如for_each函数的实现:
template < typename Iterator, typename Functor >   
void for_each( Iterator begin, Iterator e

C++常见面试问题 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数25
  • 收藏数0 收藏
  • 顶次数0
  • 上传人s0012230
  • 文件大小271 KB
  • 时间2018-09-26