在c++函数里面,如果把一个数组作为参数传进去,那么这个数组就会退化成一个指针,
就不知道这个数组的长度了。sizeof(a) / sizeof(a[0]);
定位new运算符能够在分配内存时指定内存地址。
char *buff = new char[99];
Justing *pc1;
pc1 = new(buff) Justing; //place object in buff
栈,自动变量开辟空间,速度快,空间小
堆,new在其中开辟空间
#include<vector>
vector<int> a;
a.push_back(a);
vector 存放各种类型的对象,是一个能够存放任意数据类型的动态数组
vector<vector<Point2f> > points; //定义一个二维数组
a.size(); a.clear();
a.erase(a.begin()+i, a.end(()+j);
a.insert(a.begin()+i, a);
在类成员函数的声明和定义中,const的函数不能对其数据成员进行修改操作,
const的对象,不能引用非const的成员函数,const的成员不能访问非const的函数
用const修饰函数的参数,const只能修饰输入参数,
输入参数做值传递,函数将自动产生临时变量用于复制该参数,不需要保护,一般不需要const,
做引用传递时,仅借用一下参数的别名,不需要产生临时对象,需要加const
对于非内部数据类型的,最好使用引用 & 和 const,提高效率
就不知道这个数组的长度了。sizeof(a) / sizeof(a[0]);
定位new运算符能够在分配内存时指定内存地址。
char *buff = new char[99];
Justing *pc1;
pc1 = new(buff) Justing; //place object in buff
栈,自动变量开辟空间,速度快,空间小
堆,new在其中开辟空间
#include<vector>
vector<int> a;
a.push_back(a);
vector 存放各种类型的对象,是一个能够存放任意数据类型的动态数组
vector<vector<Point2f> > points; //定义一个二维数组
a.size(); a.clear();
a.erase(a.begin()+i, a.end(()+j);
a.insert(a.begin()+i, a);
在类成员函数的声明和定义中,const的函数不能对其数据成员进行修改操作,
const的对象,不能引用非const的成员函数,const的成员不能访问非const的函数
用const修饰函数的参数,const只能修饰输入参数,
输入参数做值传递,函数将自动产生临时变量用于复制该参数,不需要保护,一般不需要const,
做引用传递时,仅借用一下参数的别名,不需要产生临时对象,需要加const
对于非内部数据类型的,最好使用引用 & 和 const,提高效率