C++基础面试题

C++基础面试题

ID:46549034

大小:60.50 KB

页数:9页

时间:2019-11-25

C++基础面试题_第1页
C++基础面试题_第2页
C++基础面试题_第3页
C++基础面试题_第4页
C++基础面试题_第5页
资源描述:

《C++基础面试题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.C++中指针的优缺点有哪些答案:优点:(1)提高程序的编译效率和执行速度。(2)通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯。(3)可以实现动态的存储分配。(4)便于表示各种数据结构,编写高质量的程序。缺点:(1)使用未正确初始化的指针导致程序崩溃(2)引用已释放的指针(3)通过指针访问不该访问的内存2.宏和函数的区别答案:(1)宏做的是简单的字符串替换(注意是字符串的替换,不是其他类型参数的替换),而函数的参数的传递,参数是有数据类型的,可以是各种各样的类型。(2)宏的参数替换是不经计算而直接处理的,而函数调用是

2、将实参的值传递给形参,是计算得來的。(3)宏在编译Z前进行,即先用宏体替换宏名,然后再编译的,而函数是编译Z后,在执行时,才调用的。因此,宏占用的是编译的时间,而函数占用的是执行时的时间。(4)宏的参数是不占内存空间的,因为只是做字符串的替换,而函数调用时的参数传递则是具体变量Z间的信息传递,形参作为函数的局部变量,是占用内存的。(5)函数的调用是需要付出一定的时空开销的,因为系统在调用函数时,要保留现场,然后转入被调用函数去执行,调用完,再返冋主调函数,此时再恢复现场,这些操作,显然在宏屮是没有的。3.宏定义是什么时期处理的(预处理?编译期?)答案

3、:预处理4.不同情况下类对象的大小(冇数据成员,无数据成员,冇虚函数等)答案:(1)无任何数据成员和虚函数的类大小为1(2)每个虚函数大小为4(3)成员变量大小要考虑内存对齐,通常是4字节对齐5.STL中vector使用的时候要注意什么答案:(1)如果元素是对象的指针,当该vector超出其作用域或调用erase删除元素时,那么元素本身在该vector中会被删除,但对象本身并没有得到销毁。在这种情况下,销毁的工作要由程序员自己来做。(2)用erase删除vector容器中的元索对象时,元索对象的析构函数会被多次调用。6.字符转整型数的函数是什么?是怎

4、样实现的?答案:strtol>strtoulo^defineTOLOWER(x)((x)

5、0X20)#dcfincisxdigit(c)(('0’<=(c)&&(c)〈二'9’)I(

6、p二二'0’){base=8;cp++;if((TOLOWER(*cp)==

7、t;}longstrtol(constchar*cp,char**endp,unsignedintbase){if(*cp二二,_,)rcturn-strtoul(cp+1,cndp,base);returnstrtoul(cp,endp,base);}INT32Satoi(constINT8S*nptr)//{returnstrtol(nptr,(INT8S**)NULL,10);}7•虚拟类和最终类能否派牛出对彖答案:虚拟类可以派生对象&你怎么理解虚拟类?虚拟类可以实例化一个对象吗?为什么?它的作用和其他类的区别答案:虚拟类可以派生对彖,纯虚类不

8、可以实例化对彖。因为纯熄类存在未定义的函数,只是个概念,不可真实存在。虚拟类用做多态,纯虚类做接口。9.内联函数怎么实现的,什么时期处理的,优缺点答案:在程序编译时,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体来进行替换。优点:不会产生函数调用的开销缺点:增加目标程序的代码量,即增加空间开销9.内存分配的几种方法与特点答案:栈:就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。堆:就是那些由new分配的内存块,口由存储区:就是那些由malloc等分配的内存块全局/静态存储区:全

9、局变量和静态变量被分配到同一块内存屮常量存储区:这是一块比较特殊的存储区,他们里面存放的是常量,不允许修改1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。