1.在为指针分配内存的时候,可以这样分配,int *p = (int*)malloc(5*int);这样就可以分配出5块的int类型的内存,可以通过p[i](0<i<5)来 访问内存地址,
2.在定义指针时只分配了存放指针地址的内存,没有分配存放的值的内存,所以不能int *p = 4;这样是错误的,因为没有存放4这个值得内存,
可以有一下两种定义,
(1) int a = 6; int *p = &a; //指针指向a这块内存
(2) int *p= new int; *p = 6;//通过new分配一块空内存,然后p指向这块内存,然后将6存入这块内存
3.可以通过realloc(原来的指针地址,大小)重新分配一块新的内存,将原来内存的数据拷贝到这块新的内存中,并将原来的内存释放,返回新内存的地址,
4. 再给函数传参时,若函数只有一个形参时,但要传多个实参,则可以定义一个结构体存储所以的实参,然后再将结构体传入函数就可以解决
5.const char *p表示,*p不可变,p可变
char const *p表示,*p不可变,p可变
char* const p表示,p不可变,*p可变
如果const位于*的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于*的右侧,const就是修饰指针本身,即指针本身是常量
6.引用在定义时必须要初始化,因为引用对象不许为空,若对象可以为空,则定义指针变量,int i=9;int &s = i;定义引用指向了i;
7.OnOk(),OnCancel();处理程序关掉对话框
8. CDHtmlDialog,CDialog这两个类产生的对话框不一样,CDHtmlDialog会默认增加"确定""取消"两个按钮并且是在执行的时候才看得到,中间还有"TODO:....."字样,在插入对话框时默认是这个类,所以要注意选择CDialog类
9.顺序容器学习: 三种容器的区别在于访问元素方式
vector //支持快速随机访问
list //支持快速插入,删除
deque //双端队列
1.使用时要加相应的头文件,#include<vector> #include<list> #include<deque>
2.所有的容器都是模板类,所以定义的时候要使用<>,如 vector<string> Str; //调用默认构造函数创建一个空的容器
3.容器元素的初始化
Y<T> A //Y是容器类型,T为元素类型,如int,string,A为所创建的空容器名,
Y A(A2) //若A2是一个容器,则A是A2的副本,元素类型和A2的一样,容器类型也必须一样