C++
丿热心市民小张
这个作者很懒,什么都没留下…
展开
-
C++内存对齐
内存对齐的意义:计算机无法随机访问内存,每次以机器字长的长度访问内存。内存对齐可以加快CPU访问内存的速度 以32位编译环境为例,一次取4字节数据。 内存对齐原则: 1.每个数据成员存储的起始位置要从该成员大小或者成员子大小的整数倍开始。例如int要从4的整数倍开始存放 2.总大小应该是成员中某个最大的数据类型大小的整数倍` struct A { int a; char b; float c; int e; char d; };//4+1(+3)+4+4+1(+3)=20 struct B {原创 2021-12-28 16:42:44 · 236 阅读 · 0 评论 -
选择排序
template<class T> void mySwap(T&a, T&b) { T temp; temp = b; b = a; a = temp; } template<class T> void mySort(T &arr, int len) { for (int i = 0; i < len; i++) { int max = i;//假定当前下标为最大的值 for (int j = i + 1; j < len; j原创 2021-03-11 16:02:19 · 52 阅读 · 0 评论 -
C++创建对象new与不new的区别
C++新建对象的两种方式 Date *t = new Date(1996,5,13);//使用new Date f(1996,5,13);//不使用new 错误的新建方式 //错误的新建对象方式 Person m = new Person(1,1,1); C++的内存四区分为:代码区、全局区、栈区、堆区。 全局区的数据在程序结束后自动释放。 栈区的数据由编译器自动释放 堆区的数据要由程序员分配释放,如果不释放,在程序结束后由操作系统回收 这两种创建对象的方式区别在于: (1)使用new创建对象放在堆区原创 2021-03-08 17:32:51 · 312 阅读 · 0 评论