C++数组的动态分配空间、初始化和释放空间
参考这里。
针对于一维数组
动态分配空间(new)
const int n = 10;
int *array = new int [n];
初始化(memset)
#include <string.h>
memset(array, 0, n*sizeof(int));
释放空间(delete)
delete []array;
针对于二维数组
动态分配空间(new)
const int n = 10;
int **array = new int *[n];
for(int i=0;i<n;i++)
array[i] = new int [n];
初始化(memset)
初始化和动态分配一块进行:
#include <string.h>
const int n = 10;
int **array = new int *[n];
for(int i=0;i<n;i++)
{
array[i] = new int [n];
memset(array[i], 0, n*sizeof(int));
}
释放空间(delete)
有多少个new就有多少个delete。
for(int i=0;i<n;i++)
delete[] array[i];
delete []array;
C/C++读写文件
C++读写
参考文章《C++中cin.getline()、getline()、cin.get()区别》。
#include<iostream>
#include<string>
#include<fstream>
using namespace std;
int main()
{
ifstream ifs("in.txt");
ofstream ofs("out.txt");
string temp;
while(getline(ifs, temp))
{
cout<<temp<<endl;
}
ifs.close();
ofs.close();
return 0;
}
C读写
#include <stdio.h>
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdin);
fclose(stdin);
fclose(stdout);
C/C++中assert断言的使用
#include <assert.h>
assert(int expression);