笔记
瑾妱
这个作者很懒,什么都没留下…
展开
-
智能指针
智能指针 智能指针的智能,体现在智能指针能够在每次完成工作之后自动释放占用的空间。 我们通常使用的裸指针,使用完成后需要通过delete或者free来进行释放,那么如果我们没有进行释放操作,或者函数无法运行到释放操作的部分就已经在某些条件下退出了,该指针就会成为野指针。 例如: int main() { int *a(new int); if(1) throw "-1";//或:retur...原创 2020-02-24 03:23:10 · 77 阅读 · 0 评论 -
左值与右值、move与forward
左值与右值 左值: 即等号左边的值。我们通常使用等号来赋值的时候,左边的是被赋值的对象。 那么显然,左值就是一个有名字、有内存的值。 比如: int main() { int a=1; int b=2; //这里的a、b均为左值 return 0; } 右值: 即等号右边的值。同样的,我们使用赋值的时候,等号右边的值通常是一个已知的、确定的值。 也就是说,右值是一个没有名字、没有内存的值...原创 2019-12-10 15:42:06 · 264 阅读 · 0 评论 -
C语言 小知识点
char a = 100; //0110 0100 char b = 200; //1100 1000 char c = a + b; //先扩充(加符号位) 再相加 得到0010 1100 char c = 128; //c=1000 0000=>1111 1111 1000 0000 u...原创 2019-04-28 20:04:58 · 334 阅读 · 0 评论 -
内联函数
最近翻C++课本,发现其中有说到C++不允许在函数内部再定义一个函数,就想到了内联函数,找了篇比较完整的博客,写下自己的心得。原创 2019-08-25 21:39:36 · 225 阅读 · 0 评论 -
网络协议
最简单的分法是四层协议: 应用层 传输层 网络层 数据链路层 概述及相关协议: 1. 应用层:直接为用户的应用进程提供服务; (1) 支持万维网应用的HTTP协议原创 2019-08-26 21:20:52 · 147 阅读 · 1 评论 -
模板
函数模板 template<typename T> //声明下面这个函数是个函数模板 void Swap(T &a, T &b) //函数模板的敲写 { T c=a; a=b; b=c; } void main() { int num1=2,num2=1; cout<<num1<<"\t"<<num2<<end...原创 2019-08-29 19:13:44 · 106 阅读 · 0 评论 -
C++的异常处理机制
关键字 throw:抛出异常 try:运行可能出现异常的代码块 catch:捕捉异常 示例 上例中,使用-1表示“被除数为零”这个异常,判断当被除数为零时,用throw抛出异常;在主函数调用Div函数时,把调用过程放在了try块中; try后紧跟着catch,定义整型变量k来接受-1,此处可以使用不同值来表示不同异常类型并进行对应的处理,所以使用了switch-case结构(也可以在后面加上不同...原创 2019-08-31 20:18:59 · 106 阅读 · 0 评论