• 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)

  • 相关阅读:
    删除功能ThinkPHP
    详解又详解KMP中的next和nextval的算法
    Thinphp ajax搜索框实施搜索提示
    tp3无法select一条数据记录
    一步步学习springcloud之总览(一)
    使用github搭建自己的maven仓库
    Win7 安装7zip后无7zip右键菜单的解决办法
    基于微信的邮箱新邮件推送
    Apache James 使用MySQL存储启动报错Specified key was too long; max key length is 3072 bytes
    错误提示:Error running MainActivity: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
  • 原文地址:https://www.cnblogs.com/czl411/p/12236598.html
Copyright © 2020-2023  润新知