自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 C++动态分配后的内存释放

最近在用C++写项目时遇到的一些动态分配上的易错点,所以写这篇博客来记录下。下面我会列举一些问题作为例子来总结一下动态分配的易错点,如有不对,欢迎指正。我们经常会在一个函数中对指针进行动态分配。动态分配伴随着释放,不及时释放分配的内存会造成内存泄漏,那么我们应该什么时候在哪里释放已经分配的内存呢?作用域结束后释放常见的情况是在函数中动态分配了一个指针,我们在函数作用域结束时释放该指针,防止内...

2019-08-15 18:51:47 871

原创 TCP/IP协议与HTTP协议的关系

TCP/IP协议与HTTP协议的关系最近开始学习计算机网络的相关知识,对与HTTP、TCP、IP协议的关系还不是太清楚,所以回顾下图解HTTP书上的讲解。书上通过一个HTTP通讯过程来说明HTTP协议和TCP协议、IP协议和DNS服务的关系。下面先简单介绍下IP协议、TCP协议和DNS服务。IP(Internet Protocol)网际协议IP(Internet Protocol) 网际协...

2019-07-22 15:31:50 1173

原创 C++函数的参数传递

C++函数的参数传递值传递即将实参的值拷贝给形参,形参和实参是两个相互独立的对象,在函数体内对形参所做的所有操作都不会改变实参的值。指针形参将指针作为形参实质与值传递一样,即执行指针拷贝工作将实参(指针的值)赋给形参,拷贝后两个指针是不同的指针,但它们指向同一个对象,所以我们可以间接的访问它所指的对象并修改它,但在函数体内修改被赋值指针本身的值并不会改变实参(被传入指针的值)。(ps:这...

2019-03-03 16:27:01 223

翻译 递增递减运算符

递增和递减运算符递增和递减运算符一共有前置和后置两个版本。int i = 0, j;j = ++i; // j = 1, i = 1j = i++; // j = 1, i = 2前置版本会将运算对象先加一,再返回运算结果作为左值返回,后置版本也会将运算对象加一,但求值返回的是加一之前的对象的值的副本作为右值返回我们也常常将解引用运算与递增(减)运算符号混用:// 利用后置运算来...

2019-02-25 21:03:05 995

原创 C++类型修饰符的阅读顺序

C++类型修饰符的阅读顺序默认情况下,类型修饰符从右向左依次绑定。int *ptrs[10]; // ptrs是含有10个整数指针的数组对于ptrs来说,从右往左理解,我们可知ptrs是一个大小为10的数组,然后知道数组中存放的是指向int类型的指针。就数组而言,由内向外阅读要比从右向左阅读好多了int (*Parray)[10] = &arr; // Parray指向一个...

2019-02-25 10:59:12 506

原创 关于两个string相加

关于两个string相加两个string对象可以相加,结果是两个string拼接而成。string s1 = "hello", s2 = "world";string s2 = s1 + s2; // 结果为helloworld字符(串)也可以和string对象相加,因为标准库允许将字符字面值和字符串字面值转换成string对象,但要求在+号两侧必须至少有一个为string:// 允...

2019-02-12 12:19:16 16233 2

原创 指针和const

指针和const指向常量的指针指向常量的指针(pointer to const)不能用于改变所指对象的值。想要存放常量对象的地址只能使用指向常量的指针:const double pi = 3.14;double *ptr = π // error,ptr是一个普通指针const double *cptr = π // 正确:cptr可以指向一个doubl...

2019-02-10 12:25:20 182

原创 const与引用

const的引用可以把引用绑定到const对象上,称之为对常量的引用,简称 常量引用下面是一段示例:const int a = 15;const int &r1 = a; //正确:引用及其对应的对象都是常量r1 = 10; //错误,对常量的引用不能被用作修改它所绑定的对象int &r2 = a; //错误,试图让一个非常量引用指向一个常量对象引用...

2019-02-10 11:40:26 243

原创 const 与 指针

·指向对象的常指针   指针本身的值不能改变,即指向不能改变。 类名 *const   指针变量名 = 对象地址;  Time t1(10,25,0),t2;Time *const p1 = &t1; //p是指向t1的常指针p1 = &t2; //错误,p是指向对象的常指针 始终指向同一对象·指向常对象的指针   const  类型名 * 指针

2017-11-27 17:31:28 457

原创 静态成员函数、this指针、对象指针和动态对象使用小结

先声明一个Time类·静态成员函数·静态成员函数就是使用 static 关键字声明的成员函数   在类外实现时不加static关键字,只有在类内声明时才加static·静态成员函数是类的一部分,作用是为了处理静态数据成员   没有this指针·静态成员函数可以直接访问该类的静态成员,但不能直接访问类中的非静态成员·若想在静态成员fun中使用非静态成员,则必须

2017-11-20 22:13:58 4396

原创 复制构造函数与普通构造函数的区别

1.形式上的不同:两者虽然函数名与类名相同,也不指定函数类型。但复制构造函数只有一个参数,并且是对同类对象的引用-------复制构造函数无法重载。eg:  Time time1(15, 10, 5);       Time time2(time1);          //实参是对象名2.两者被调用的情况不同: 对于赋值构造函数,只会在以下三种情况发生时被调用:建立一个新

2017-11-13 16:19:29 1765

转载 CString、string、string.h的区别

CString:CString是MFC或者ATL中的实现,是MFC里面封装的一个关于字符串处理的功能很强大的类,只有支持MFC的工程才能使用。如在linux上的工程就不能用CString了,只能使用标准C++中的string类了。在MFC中使用不需要自己加,但在另外的程序中需要加入#include(CString)string:string为标准模板类(STL)定义的字符串类,已纳入C

2017-11-03 20:05:20 8246 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除