• C++面试总结 笔试基础知识常考点


      所有总结点仅供参考,不保证完全正确

    1. 引用和指针的区别

      ① 引用必须初始化,指针可以不初始化

      ② 引用不可以为空,指针可以为空(野指针)

      ③ 引用绑定的值不能改,指针可以

      ④ 不能定义引用型数组,可以定义指针数组

      建议: 在C++中尽量使用引用,而少使用指针,因为容易出现野指针、容易出现段错误等。

    2. 函数重载的方式

      ① 函数名相同,参数个数不同

      ② 函数名相同,参数类型不同

      ③ 函数名相同,参数顺序不同

      ④ 函数名相同,const修饰的常函数和普通成员函数构成重载

    3. 函数重载的原理

        C++编译器通过对函数进行换名,将参数表信息体现在新的函数名中,从而实现重载,

      我们可以编译一个汇编文件来查看相关重载函数。

      如: void show(int i, int j){}

        _Z4showii; <----换名之后的新名字。

           4表示函数名的字符串个数。ii则是去的两个int的首字母。

        void show(int i, double j){}

        _Z4showid;<----换名之后的新名字

    4. const与define的区别

      const定义的常量,会分配大小,可以用sizeof计算

      define定义的常量,只做替换

    5. static函数

      static修饰局部变量,生命周期变长。

      static修饰全局变量,作用域属于当前文件,防止其他文件引用。

        static修饰函数,生命周期变长

          static修饰类成员函数,没有this指针,该成员属于整个类,而不是单一的对象。

      static成员变量,必须在类的外部单独定义

        格式: 数据类型 类名::静态成员变量 = 初始值

    6.  include<>与include “”区别

      indlude<>在系统目录中去找相关文件

      include“ ” 在当前目录中去找相关文件

    7.  自增减运算符

      前缀自增减运算符: 表达式的值是增减以后的值,返回增减以后的值

      后缀自增减运算符: 表达式的值是增减以前的值,返回增减以前的副本

      

    未完待续...

  • 相关阅读:
    RabbitMQ系列教程之七:RabbitMQ的 C# 客户端 API 的简介
    RabbitMQ系列教程之六:远程过程调用(RPC)
    git无法提交,存在未提交的修改,在重新合并前或者撤销更改
    安装mysql提示3306端口已经被占用解决方案
    区块链学习一基本知识
    超级账本 --- ReadWriteSet的逻辑结构
    解决windows10 里vs2015 附件进程调试提示“此任务要求应用程序有提升的权限”
    Fabric V1 交易的生命周期
    sql 取首次投资的人
    Win10年度更新开发必备:VS2015 Update 3正式版下载汇总
  • 原文地址:https://www.cnblogs.com/jiangson/p/5771349.html
Copyright © 2020-2023  润新知