1

问答题:
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)

posted @ 2020-01-27 18:57  ChenZLL  阅读(142)  评论(0编辑  收藏  举报