自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++类型强制转换

1.const_cast 特性:1)可以去除变量的const 或者 volatile属性 void Type_transform::ConstCast() { const Test t; t.s = "1111111"; //const 无法直接赋值 编译报错 Test &tt = const_cast<Test&>(t); tt.s = "1111111111"; //使用const_cast转换后取出了const属性可以正常赋值 } 2

2021-12-28 22:21:00 661

原创 c++智能指针weak_ptr

1.为什么需要weak_ptr 为了解决shared_ptr循环引用导致内存泄漏的问题,才引入了weak_ptr。通过引入weak_ptr,顺利解决了这个问题。 2.回顾shared_ptr循环引用问题 2.1代码及运行输出 struct TestB; struct TestA{ TestA(){ a = QUuid::createUuid().toString(); qInfo() << a <<"已经被构造了"<<endl;

2021-12-26 21:49:13 358

原创 c++智能指针unique_ptr

1.为什么需要unique_ptr 与shared_ptr作用类似,需要解决内存泄漏的问题,但是却不需要使用shared_ptr的引用计数,所以为了减少消耗,就需要一个这样的智能指针。但是使用已被废弃的auto_ptr的话就会有新的问题,auto_ptr在使用过程中如果被拷贝构造或者赋值的话,被复制的auto_ptr就失去了作用,这个时候就需要在auto_ptr的基础上禁用拷贝构造以及赋值操作,也就成了unique_ptr。 2.什么是unique_ptr 一个unique_ptr独享它指向的对象。也就是

2021-12-25 23:00:53 253

原创 c++智能指针shared_ptr

1.为什么需要shared_ptr智能指针 我们在日常使用指针过程中一般标准的大致流程应该是这样的。 void funcTest(){ int *pI = new int; //doSomething delete pI; } 但如果我们由于种种原因忘记在最后delete掉在堆栈上分配的对象,就会造成内存泄露。 还有这么一个情景 void funcTest0(int *pI){ //doSomething delete pI; } void funcTest1

2021-12-25 20:06:38 324

空空如也

空空如也

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

TA关注的人

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