本文主要是介绍C++面试常见问题总结(三)(本人面试遇到的问题记录,作为学习和交流用),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、malloc和new的区别。
malloc是c语言中的,单纯的分配内存,不检查是否内存分配成功。New则是C++中的,分配时对构造函数,析构,虚函数等都要分配内存空间,且会检查是否分配成功,失败返回错误码。
malloc分配内存时必须自己指定要分配的空间,new则根据类型自动分配
Malloc是标准库函数,new是C++运算符,malloc不能初始化或者析构函数,这是编译器做的事。
2、C/C++程序编译的过程是什么?
预编译,用来处理预定义,之后是编译,主要检查语法错误,编译后生成的文件进入汇编器,生成汇编文件.s,之后进入链接器,将obj文件链接起来之后生成可执行文件。下图为网络截图
3、C++中类的内存结构是什么?
这篇关于C++面试常见问题总结(三)(本人面试遇到的问题记录,作为学习和交流用)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!