问答题:
1.若是你不了解C++请回答如下问题:你认为C语言有什么缺陷(你以为哪里用的不顺手)。
若是你已经了解C++请回答如下问题:你以为C++和C语言比有什么优势。
答:我不了解c++。我是新手...
如下是我查到的资料:
1.面向对象编程功能(OOPs):
面向对象编程的特色是C语言缺乏的,你只能使用面向过程的语言来开发程序。C没有的OOPs概念,这就是为何C ++被开发。
2.运行时类型检查是不可用:
在C语言没有规定运行时类型检查,好比我传递浮点值,而接收参数为整数类型那么值将会被改变,它不会给任何类型的错误信息。
3.命名空间功能:
C不提供的命名空间功能,让你是不可以在一个范围内再次使用相同的变量名。若是命名空间功能可用的话,那么你能够可以重复使用相同的变量名。
4.构造函数和析构函数不可用:
C不提供面向对象的特性,所以它不具备构造和析构功能。构造函数和析构函数用于构造对象和销毁对象。所以,在C语言中,你必须经过方法或者以其余方式来手动实现变量的析构和构造。
我的(cainiao)经验:做为代码新手,我刚刚学的时候,经常由于少输了某个符号,致使不能运行,但很难找出来,因此要是能直接指出那里有格式错误,帮咱们直接指出来,我以为会更人性化。。
2.查阅相关资料,简述一下C语言/C++的编译过程:
(1)预编译主要处理宏和头文件,用实际值代替有#define 指令定义的符号以及读入有#include 指令包含的文件内容
(2)编译过程首先将程序汇编成汇编代码(.s 文件,linux下),而后进一步翻译成二进制文件(.o 文件),也就是目标代码
(3)连接过程是连接器会引入标准c/c++函数库中任何被该程序所用到的函数,并且它也能够搜索程序员我的的程序库,将其中须要使用的函数也连接到程序中。
(4)最后经过连接将多个目标文件(.o linux .obj widows)生成可执行文件(.out linux .exe windows)linux