2019-06-23 基础知识

1:C++的程序在编译时候内存可以分为五大存储区:堆区、栈区、全局区、文字常量区、程序代码区。

2:int* ptr=NULL; ptr=(int*)malloc(1000*sizeof(int));  if(NULL == ptr) exit; free ptr; ptr=null;

3:new 调用operator new函数,调用对应的构造函数,传入初值,对象构造完成后,返回一个指向该对象的指针

new delete 和malloc和free的区别:

new delete是操作符 可以重载,malloc和free是函数  new delete会调用构造与析构,而malloc和free仅仅分配内存

malloc分配内存大小需要指定,new的编译器会自己计算。new比malloc更安全。





Windows内存管理的方法:


include "stdafx.h"

#include

#include

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

string a;

std::cin >> a;

//a = cin.get();

int i = 0, j;

char t;

for (i = 0, j = a.length()-1; i < a.length() / 2; i++, j--)

{

t = a.at(i);

a.at(i)=a.at(j);

a.at(j) = t;

}

cout << a;

return 0;

}

你可能感兴趣的:(2019-06-23 基础知识)