恭喜你通过了卡伦特C++二面!面试官似乎非常注重底层和原理的理解,而不是只停留在表面问题上,这也是一个好的面试官。对于你提到的问题,我来简单解答一下: 1. 进程和线程在内存上的区别: 进程是操作系统资源分配的基本单位,每个进程都有独立的内存空间,而线程是进程内的执行单元,线程共享进程的内存空间。 2. 类的内存对齐和虚函数的分配: 类的内存对齐是为了提高内存读取效率,虚函数表一般是在类的最前面,虚函数指针指向虚函数表,而char类型的变量一般是在对齐后的第一个位置,所以虚函数表会在char变量的前面。 3. const char *和char const *和char * const的区别: const char *表示指向const char类型的指针,指针指向的值不能被修改; char const *与const char *等价; char * const表示指向char类型的const指针,指针本身不能被修改,但指向的值可以被修改。 4. classA和classB的问题: 如果用classB调用classA的ap方法,a的值为10,因为classB中的overread操作修改了a的值。 希望我的回答能对你有所帮助,祝你在未来的面试中顺利通过!
5 2

相关推荐

ResourceUtilization:差不多但是估计不够准确,一面没考虑到增长人口,另一方面也没考虑到能上大学的人数比例,不过我猜肯定只多不少
点赞 评论 收藏
分享
牛客网
牛客企业服务