ToB企服应用市场:ToB评测及商务社交产业平台
标题:
C++初探索
[打印本页]
作者:
半亩花草
时间:
2023-1-8 01:09
标题:
C++初探索
C++初探索
前言
C++ 和 C 的区别主要在8个方面:
输入和输出
引用
inline函数
函数默认值
函数重载
模板函数
new 和 delete
namespace
我仅对印象不深的地方做了总结。
目录
C++初探索
前言
一、引用初探索
1.引用的定义与区别
2.引用的要求
3.引用与指针的区别
4.常引用
5.何时使用引用
二、inline内联函数
1.内联函数的定义
2.内联函数的处理流程
3.内联函数与三者的区别
3.1 与普通函数的区别
3.2 与static函数的区别
3.3 与宏定义的区别
4.仅realese版本才会产生内联
5.inline函数使用的限制
三、函数的重载
四、函数模板
五、new和malloc
总结
一、引用初探索
1.引用的定义与区别
定义
:类型& 引用变量的名称 = 变量名称
'&' 不是取地址符吗,怎么又成为引用了呢?下面将常见的 '&' 做一个
区分
:
C中的 '&'
c = a && b; //此处 && 是 逻辑与
c = a & b; //此处的 & 是 按位与
int *p = &a; //此处的 & 是 取地址符
复制代码
int &x = a; //此处的 & 是 引用
void fun(int &a); //此处的 & 也是引用
复制代码
疑问:
int &fun()这个是函数的引用吗?
回答:
不是函数的引用,表示函数的返回值是一个引用。
2.引用的要求
①当定义引用时,
必须初始化
//正确用法:
int a = 10;
int &x = a;
复制代码
② 没有引用的引用(
没有二级引用
)
//错误用法:
int &x = a;
int &&y = x;
复制代码
③ 没有空引用
int &x; //error:不存在空引用
复制代码
3.引用与指针的区别
引用指针必须初始化可以不初始化不可为空可以为空不能更换目标可以更换目标没有二级引用存在二级指针<ul>1、引用必须初始化,而指针可以不初始化
int &s; //error:引用没用初始化
int *p; //right:指针不强制初始化
复制代码
2、引用不可以为空,指针可以为空
[code]int &s = NULL; //error:引用不可以为空,右值必须是已经定义过的变量名int *p = NULL; //right:可以定义空指针。int fun_p(int *p){ if(p != NULL) //因为指针可以为空,所以在输出前需要判断。 { cout
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4