C++学习/复习(代码随想录)

关键字与运算符

指针与引用

引用是变量的别名,从一而终,不可变,必须初始化

const关键字

在定义时就赋予初值,只读。

  1. 常量指针(底层const),指向只读对象,不可通过指针改变对象的值。
const int* a = &temp;
int const *a = &temp;
  1. 指针常量(顶层const),定义一个指针,在定义时初始化,其他地方不变。指针的不可变性。
int temp = 10;
int* const p = &temp;
*p = 9;//改变指针指向的值,无法改变指针位置

define和typedef 的区别

define

  1. 只是简单的字符串替换,没有类型检查
  2. 是在编译的预处理阶段起作⽤
  3. 可以⽤来防⽌头⽂件᯿复引⽤
  4. 不分配内存,给出的是⽴即数,有多少次使⽤就进⾏多少次替换

typedef

  1. 有对应的数据类型,是要进⾏判断的
  2. 是在编译、运⾏的时候起作⽤
  3. 在静态存储区中分配空间,在程序运⾏过程中内存中只有⼀个拷⻉

define和inline区别

inline

  1. inline是先将内联函数编译完成⽣成了函数体直接插⼊被调⽤的地⽅,减少了压栈,跳转和返
    回的操作。没有普通函数调⽤时的额外开销;
  2. 内联函数是⼀种特殊的函数,会进⾏类型检查;
  3. 对编译器的⼀种请求,编译器有可能拒绝这种请求;
    限制:
  4. 不能存在任何形式的循环语句
  5. 不能存在过多的条件判断语句
  6. 函数体不能过于庞⼤
  7. 内联函数声明必须在调⽤语句之前

override和overload

override

⼀般是⽤于⼦类在继承⽗类时,重写⽗类⽅法。

overload

重载,这些⽅法的名称相同⽽参数形式不同

new和malloc

C++ 三大特性

访问权限
C++通过 public、protected、private 三个关键字来控制成员变ᰁ和成员函数的访问权限,它
们分别表示公有的、受保护的、私有的,被称为成员访问限定符。

  1. 继承
    让某种类型对象获得另⼀个类型对象的属性和⽅法
    它可以使⽤现有类的所有功能,并在⽆需᯿新编写原来的类的情况下对这些功能进⾏扩展
    继承的三种方式
    1、实现继承:指使⽤基类的属性和⽅法⽽⽆需额外编码的能⼒
    2、接⼝继承:指仅使⽤属性和⽅法的名称、但是⼦类必须提供实现的能⼒
    3、可视继承:指⼦窗体(类)使⽤基窗体(类)的外观和实现代码的能⼒
  2. 封装
    数据和代码捆绑在⼀起,避免外界⼲扰和不确定性访问;
  3. 多态
    同⼀事物表现出不同事物的能⼒,即向不同对象发送同⼀消息,不同的对象在接收时会产⽣不
    同的⾏为(重载实现编译时多态,虚函数实现运⾏时多态)
    允许将⼦类类型的指针赋值给⽗类类型的指针。

智能指针

标准模板库STL

容器

pair

swap,sort,length,size
vector: push_back,pop_back

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值