C++ 笔记(随笔)

2019 9.2 星期一 c++笔记
c++ 程序设计

c++与c的区别

c++特性
1.兼用性
2.增加了哪些数据类型?
布尔类型 引用(&) class类
3.封装 继承 多态
封装:-
继承:-(:)
多态:-静态多态,编译时就确定(函数重载,运算符重载)
动态多态,运行时确定(虚函数)

-》类和对象?
类:抽象 人:
对象:实体 实例

->命名空间的作用?
解决工程上命名的重复问题
::作用域

-》c++内存分配
->堆和栈(stack)区别
堆向上,程序员释放(否则内存泄露)(速度较慢)
栈上下,自主释放(递归次数过多会提示栈溢出)

代码 数据 堆 栈
动态申请内存 malloc(),new
释放:free(),delete
申请未释放,会造成内存泄漏

c++智能指针:空指针
->malloc() free(),delete,new区别
new和delete是运算符,不是函数,因此执行效率高。
C语言中是利用库函数malloc和free来分配和撤销内存空间的
malloc不会调用类的构造函数,而new会调用类的构造函数
Free不会调用类的析构函数,而delete会调用类的析构函数

全局 局部作用域
局部变量能否和全局变量重名??

答:能,局部会屏蔽全局。要用全局变量,需要使用 ":: " (域解析符)
  局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。?

引用与指针的区别?
引用(&)别名 必须初始化,不分配地址
指针 可指向空,可不初始化,占用独立地址
->define与const定义常量的区别?
1.带分号#不带 const是语句
2.#预处理 替换 const类型检查

const 作用?”只读“
常量 常指针 常引用 常对象

<<插入 >>提取 运算符重载

inline 内联函数 特点: 与宏(c)相对而言
短小 频繁调用
编译时起作用 (预编译时展开在代码中)
仅仅程序员的建议,由编译器根据情况决定

->有默认参数的函数
仅声明时设置默认值,定义时不设默认
默认值的参数在最右端
例:
float area(float r=6.5)
area();不给出实参,相当于area(6.5);
area(7.5);给出实参便r=7.5;

->函数重载
同名同体,但接口不同
参数个数可不相同,类型不同,函数体相同
返回值类型可不同
默认参数的函数慎用重载
同名不同体
(1,函数名相同。
2,参数个数不同,参数的类型不同,参数顺序不同,均可构成重载。
3,返回值类型不同不可以构成重载?。)
默认参数的函数慎用重载

Linux 服务器 网络命令 操作系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值