自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++中类型用new和不用new的区别

解析一:new创建类对象,使用完后需使用delete删除,跟申请内存类似。所以,new有时候又不太适合,比如在频繁调用场合,使用局部new类对象就不是个好选择,使用全局类对象或一个经过初始化的全局类指针似乎更加高效。一、new创建类对象与不new区别下面是自己总结的一些关于new创建类对象特点:new创建类对象需要指针接收,一处初始化,多处使用 new创建类对象使用完需delet...

2019-10-31 18:30:12 4544

原创 vs中寄存器调试窗口可看出程序是多少位运行的及cpu寄存器使用情况

如果不清楚程序是多少位运行的,可在vs中的调试->寄存器调试窗口查看寄存器的寻址位数,如果是32位的exe则寄存器寻址显示32位,64位的exe则显示64位寻址1、根据IntPtr.Size来判断,如果值为4则是32位,如果为8则是64位,所有.NET版本都支持。复制if (IntPtr.Size == 4){ // 32-bit}else if (IntPtr....

2019-10-28 10:55:23 1050

原创 值引用和引用问题分析

//在c++中,声明一个全局变量A a,然后在一个局部函数中创建类型A c赋值给a,对于值类型,如结构体等,是在栈中分配内存c,然后拷贝其内存所有值给a,//对于引用类型,如自定义的类等,如果不用new创建是在栈中分配内存c,此时如果将c赋值给a则函数结束后c就被系统销毁因为变量c是引用类型所以全局变量a就被销毁,//用new 的话则分配在堆内存中,需手动释放,全局变量a不会销毁。对于...

2019-10-16 16:39:27 213

原创 C++程序内存分配方式(堆与栈)

一、内存布局1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量值等,其操作方法类似数据结构中的栈。2、堆区(heap):一般由程序员分配释放,与数据结构中的堆毫无关系,分配方式类似于链表。3、全局/静态区(static):全局变量和静态变量的存储是放在一起的,在程序编译时分配。4、文字常量区:存放常量字符串。5、程序代码区:存放函数体(类的成员函数、全局函...

2019-10-16 16:18:01 484

转载 结构体和类的区别

结构体和类的区别: 在做一个项目时,使用了较多的结构体,并且存在一些结构体的嵌套,即某结构体成员集合包含另一个结构体等,总是出现一些奇怪的错误,才终于下决心好好分析一下到底类和结构体有啥不同,虽然它们很相似,但确实有很大的不同,用不好难免出的问题会比较多,现总结一下:一、结构体和类非常相似:1,定义和使用非常相似,例子如下:public struct Student{ st...

2019-10-16 14:18:04 43203 6

原创 c++中 结构体和类的区别

区别:结构是一种用关键字struct声明的自定义数据类型。与类相似,也可以包含构造函数,常数,字段,方法,属性,索引器,运算符和嵌套类型等,不过,结构是值类型。1.结构的构造函数和类的构造函数不同。 a.结构不能包含显式的无参数构造函数。结构成员将自动初始化为它们的默认值。 b.结构不能包含以下形式的初始值设定类:base(argument-list);2.对于结构中的...

2019-10-16 14:16:16 1105

原创 c#中结构体和类在队列中的引用类型问题

class test { public int a; }struct test { public int a; }voidtest(){List <test > tt= new List<test>(); test aa = new test(); ...

2019-10-16 12:36:26 856

转载 C# GC 垃圾回收机制原理

转载参照自以下文章:http://www.cnblogs.com/fdyang/p/3456258.html (c#) 销毁资源和释放内存https://www.cnblogs.com/Jessy/articles/2552839.html C# Finalize和Dispose的区别https://www.cnblogs.com/wuyuankun/p/4103620.html C#中标...

2019-10-14 18:39:53 1304

转载 内存池的实现

引言C/C++下内存管理是让几乎每一个程序员头疼的问题,分配足够的内存、追踪内存的分配、在不需要的时候释放内存——这个任务相当复杂。而直接使用系统调用malloc/free、new/delete进行内存分配和释放,有以下弊端:调用malloc/new,系统需要根据“最先匹配”、“最优匹配”或其他算法在内存空闲块表中查找一块空闲内存,调用free/delete,系统可能需要合并空闲内存块,这...

2019-10-14 18:27:35 158

原创 内存溢出问题分析

System.OutOfMemoryException大多是数据处理的过程中,对内存资源的管控太过于粗放建议对于非托管资源的使用不要过于随意内存分配的时候使用内存池的模式,避免内存泄露和内存碎片你的指针可能成为”野指针“了在DELETE后,应该NULL一下了!极可能是内存碎片导致申请失败。在剩余的几百兆断断续续的内存中申请到连续的一百多兆内存的成功率太低了。解决办...

2019-10-14 18:26:38 170

原创 C&C++动态分配内存(手动分配内存)三种方式

1. malloc函数函数原型:void *malloc(unsigned int size)函数的作用是:在内训的动态存储区开辟一个size个字节的连续空间,返回所分配区域的首字节地址。可以看到,函数返回值是一个void指针,请注意,void指针不是一个可以指向任何类型数据的指针,而是 说,不指向任何类型的数据,仅仅是提供了一个地址。因而,你想让这个指针指向int型数据,要进行显式的...

2019-10-14 18:09:51 962

空空如也

空空如也

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

TA关注的人

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