c++指针引用的传递 必须用模板实现
template <class T>
void ChangeSize1D(T * &a,int size,int ToSize){
T *b = new int[ToSize];
for(int i=0;i<ToSize&&i<size;i++){
b[i] = a[i];
}
delete[] a;
a = b ;
}
否则运行会报错。
Qt用c++新标准 在pro里添加QMAKE_CXXFLAGS += -std=c++0x 就可以了
int a[4]; sizeof(a) 等于16 是数组a的字节数
int *a = new int(4); sizeof(a) 等于4是一个int指针的字节数
1.在释放堆栈中c++基本数据(包括int,char.....结构体等)的存储空间时,不管是否是数组用delete都不会有错!而且能正常释放所有内存,不会导致内存泄露!
2.对象数组不能用delete,只能用delete[];