自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 new 和delete

new的功能可以被拆解为三步: 一是通过调用malloc分配无类型空间(大小为类的大小) 二是进行指针类型转换 三是调用类的构造函数(赋初值之类的操作) delete的功能可以被拆解为两步: 一是调用析构函数 二是调用free delete这里的执行顺序是先析构在free,顺序很重要,否则很有可能会造成内存泄漏: 比如: x=new string; delete x; 如果先调用free,那么直接释放的是x这个指针的所占用的空间,那么x所指向的内容就不能被释放 ,就会造成内存

2022-01-26 14:01:43 302

原创 左值和右值引用

左值引用: int a=4; int &b=a;//b是a的别名,所有操作一样。引用变量初始化以后就不能再指向其他别的元素。 右值引用://c++11增加的一个非常量的引用类型,右值指的是临时变量(如函数的返回值),当右值引用初始化以后,临时变量就消失了,右值引用具有临时变量的类型。 类型 && i=被引用的对象; 如: int get(){ int i= 4; return i;} int main(){ int && k =get()+4; //int &

2020-09-24 10:16:51 79

原创 内存泄漏。。。

//内存泄露,分配在堆区的动态内存不会自己主动销毁,需要用delete,如果不回收,系统就会浪费很多的资源。 #include using namespace std; int main(){ float *pf = NULL; pf = new float; *pf = 4.321f; float f2= 5.321f; cout<<“pf指向的地址:”<<pf<<endl; cout<<"*pf的值:"<<*pf<<endl; pf

2020-09-24 09:53:44 88

原创 内存销毁

#include using namespace std; int *sum(int a ,int b){ int *ps = NULL; int c=a+b; ps =&c; return ps; } int main(){ int *pl= NULL; int k1=3; int k2=5; pl = sum(k1,k2); //pl从sum中获得一个临时指针,该指针是指针ps的临时复制品,操作完成后会消失,它所保留的地址交给了pl; //sum执行完毕以后,该域使用的栈内存会被系统销毁甚至挪用

2020-09-24 09:42:24 149

原创 返回值为指针的一些笔记

返回值为指针的一些笔记: #include using namespace std; //函数中返回的是定义中i的地址,函数执行后,i的内存被销毁,值变成了一个随机值 int *pointer(int *p){ int i=9; cout<<“函数体中的i的地址:”<<&i<<endl; cout<<“函数体中i的值:”<<i<<endl; p=&i; return p; } int main(){ int *k = N

2020-09-21 20:32:43 52

原创 c++的void指针类型和const的用法

c++空类型的使用; int i = 100; int p =&i; char a=‘b’; char * str=&a; void q=NULL; q=p;//只是将p里面的值赋给q,q的类型还是空类型。 cout<<(int )q<<endl;//要转化类型才能读出我们想要的内容。 q=str; cout<<(char)q<<endl; c++ const的用法 #include using namespace std; int main

2020-09-21 10:20:16 523

原创 C语言可变参数问题(va_list,va_start,va_arg,va_end用法及定义)

#include #include<stdarg.h> using namespace std; void Outputinfo(const char pchdata=“One world,one dream!”){ cout<<pchdata<<endl; } int GetMax(int x,int z,int y=10){//默认值只能在所有非默认值的右边,否则会发生错误。 if(x<y) x=y; if(x<z) x=z; return x; } vo

2020-09-17 17:32:42 547

原创 C语言实现生命游戏

生命游戏规则: 孤单死亡:细胞邻居小于一个,则细胞在下一次状态将死亡 拥挤死亡:细胞邻居在四个及以上,则该细胞在下一次状态将死亡 稳定:细胞的邻居为两个或三个,则下一次状态为稳定存活 复活:原位置无细胞存活,而该位置的邻居为三个,则该位置将复活一细胞。代码如下: #include<stdio.h> #include<stdlib.h> #define DEAD 0 #def...

2020-03-15 00:19:45 920 1

原创 约瑟夫环链表解决方式

#include<stdio.h> #include<stdlib.h> #define N 13 struct link_list{ int i; struct link_list *next; } ; struct link_list * build(){ int j; struct link_list * head=((struct link_list *)m...

2020-03-07 20:49:42 92

空空如也

空空如也

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

TA关注的人

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