面试兆日
笔试抄的手机,顺利进入面试
先是自我介绍
1.说一下7层网络模型及作用
2.重载
3.C11中的特性及应用
4.项目中的问题及怎么解决的 (说与C++相关的)
5.const与#define的区别(const在编译时,#define在预处理时;const定义是有类型的,#define是没有类型的)
6.虚函数怎么实现的(虚函数表)----子类中有虚函数表吗 没有
7.STL是什么
8.strcopy与strcopy_s的区别 QT里为标准库,VS中含有改进的库。
9.const可以修饰类的成员函数吗 为什么 能
const修饰变量,表示变量不能被修改【定义时,要初始化】。
const修饰函数形参,表示函数内部不修改其值
const修饰类的成员函数的返回值:以“指针传递”方式的函数放回值加const修饰,那么函数返回值(即指针)的内容不能被修改,该返回值只能被赋值给加const修饰的同类型 指针。
若函数返回值采用“值传递方式”,由于函数会把返回值赋值到外部临时的存储单元中,加const修饰没有任何价值。
10.析构函数可以为虚函数吗 为什么 不能
11. 说一下strcpy函数 危害 及解决办法
strcpy函数为字符串拷贝函数,当目的地址的大小不能容纳源字符串时会产生错误。
(vs2013提示strcpy为高危函数,不能用于字符串拷贝,使用strcpy_s代替,strcpy_s 相比strcpy函数多一个数据长度,为目的地址的长度)
12.指针初始化问题
new要和delete对应,malloc和free对应
一旦对指针进行释放,应当赋值为NULL,再次使用时,若为NULL,则不能使用。
那如果初始化为NULL呢
挂了。。。