C++基础知识面试必备、复习细节 (1)

本文详细介绍了C++的基础知识,包括变量与基本类型、引用与指针、const限定符、处理类型、自定义数据结构、标准库类型如string和vector的使用。还探讨了数组名与指针的区别、C++表达式的各种运算符、参数传递的细节、函数重载与重写的概念以及内联函数的作用。这些内容是C++面试的重要考点,适合复习和准备面试。
摘要由CSDN通过智能技术生成

C++基础知识面试必备、复习细节 (1)

c++变量与基本类型

(解决面试时常问的考点以及易忘点易混点)

一些经验准则:
  • 如果明确数值不为负,则选择无符号类型
  • 使用int执行整数运算(如果超出int数值范围则采用 long long)
  • 执行浮点数运算采用double(注意double类型不可以用==判断相等,可以用相差值小于一个很小的值判断)
  • 类型转换时要注意范围,浮点转换到整型会损失小数部分
  • 切勿混用带符号和无符号类型。(当无符号和有符号相加时,带符号数会转变为无符号数,会引发错误)
  • 定义变量时尽量初始化,尤其在函数体内,因为在函数体内的内置类型的变量如果没有初始化其值是未定义
引用和指针
  • 引用是对象的一个别名,指针本身就是一个对象
  • 引用必须在定义时进行初始化,而指针无需(但为了避免未知错误,通常定义指针时赋初值)
  • 指针的值在初始化后可以改变,即指向其它的存储单元,而引用在进行初始化后就不会再改变了
  • ”sizeof引用”得到的是所指向的变量(对象)的大小,而”sizeof指针”得到的是指针本身的大小;
  • 将引用作为函数的参数时,实际上就是直接将该变量传入了函数,而不是再次拷贝了一个临时变量,所以对该参数的修改将直接修改的原始的值。
const限定符
  • 为了避免对值的修改,可以采用const限定符。注意:const对象必须初始化

    const int a; //错,必须初始化
    const int b=10; //对,编译时初始化
    
  • const引用:对常量的引用,对常量的引用不能被用作修改它绑定的对象

    const int ci=1024;
    const int &ri=ci; //正确,引用以及其对应的对象都是常量
    int &r2=ci;  //错误,试图让一个非常量引用指向一个常量对象
    
  • const指针

    • 指向常量的指针: const int * 表示的是一个指向const int的指针

      const int a=3;
      const int *p=&a; //正确,a是一个int常量,p是指向int常量的指针
      
    • 常量指针: int *const 表示的是指向int的指针,但其不能被修改,不变的是指针本身而不是那个值

      故 const int * const就是一个指向const int的常量指针

      int a=0;
      int *const p=&a; //p是一直指向a的指针
      const int b=0;
      const int *const p2=&b; //p2是指向常量对象的常量指针
      
处理类型
  • 采用关键字 typedef 创建易懂的变量别名

    typedef double wages; //wages将是double的同义词
    wages a; //a是double类型
    
  • auto类型,可以让编译器自动分析表达式类型

    auto item=val1+val2; //如果val1和val2是int,则item将是int
    vector
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值