64,637
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <map>
using namespace std;
int main(int argc, char* argv[])
{
int i = 0;
std::cout << "waitting for input, you can check current memory" << std::endl;
std::cin >> i;
char** ptr = new char *[1000000];
std::map<int, char *> tMap;
for (unsigned long i = 0; i < 1000000; i ++)
{
ptr[i] = new char[3000];
tMap.insert(make_pair(i, ptr[i]));
}
std::cout << "waitting for input, you can check current memory" << std::endl;
std::cin >> i;
for (unsigned long i = 0; i < 1000000; i ++)
{
delete []ptr[i];
}
delete []ptr;
std::cout << "waitting for input, you can check current memory" << std::endl;
std::cin >> i;
return 0;
}
#include <iostream>
#include <map>
using namespace std;
int main(int argc,char* argv[])
{
int i = 0;
std::cout<<"waitting for input, you can check current memory"<<std::endl;
std::cin>>i;
// {
char** ptr = new char *[1000000];
std::map<int,char *> tMap;
for (unsigned long i = 0; i < 1000000; i++)
{
ptr[i] = new char[3000];
{
tMap.insert(make_pair(i,ptr[i]));
}
}
std::cout<<"waitting for input, you can check current memory"<<std::endl;
std::cin>>i;
for (unsigned long i = 0; i < 1000000; i++)
{
delete[]ptr[i];
}
delete[]ptr;
// }
std::cout<<"waitting for input, you can check current memory"<<std::endl;
std::cin>>i;
return 0;
}
#include <iostream>
#include <map>
using namespace std;
int main(int argc,char* argv[])
{
int i = 0;
std::cout<<"waitting for input, you can check current memory"<<std::endl;
std::cin>>i;
{
char** ptr = new char *[1000000];
std::map<int,char *> tMap;
for (unsigned long i = 0; i < 1000000; i++)
{
ptr[i] = new char[3000];
// {
tMap.insert(make_pair(i,ptr[i]));
// }
}
std::cout<<"waitting for input, you can check current memory"<<std::endl;
std::cin>>i;
for (unsigned long i = 0; i < 1000000; i++)
{
delete[]ptr[i];
}
delete[]ptr;
}
std::cout<<"waitting for input, you can check current memory"<<std::endl;
std::cin>>i;
return 0;
}
一般在函数中使用按楼主原来写法没什么问题,如果要严格控制内存,参考上面的代码