内存分配基本问题
c++里面有些开辟的空间是不是不用你手动回收?我列出一些场合大家帮忙看看
int a[20];
int *a=new int [20];
string str="123";
string *buf;
buf=(string *)malloc (sizeof(str));
还有一种情况是buf=(char*)malloc(20);
buf[10]='\0';
这样是不是需要手动free 需要的话'\0'后的空间会正常释放?
还有我实例化类的话 CMYCLASS imyclass;和CMYCLASS *pimyclass =new CMYCLASS;这两种方式有什么差别,是不是new的话就一定要手动delete
还有一个题外话问题 stl::string 是不是0结尾的?(NULL-terminal)
还有非unicode模式里面的汉字存储和unicode模式里面的汉字存储在内存里面是不一样的?(小头存储模式)
gb2312中汉字的编码和汉字的unicode的编码是一样的,2中模式中存储方式不一样?
int a[20];
int *a=new int [20];
string str="123";
string *buf;
buf=(string *)malloc (sizeof(str));
还有一种情况是buf=(char*)malloc(20);
buf[10]='\0';
这样是不是需要手动free 需要的话'\0'后的空间会正常释放?
还有我实例化类的话 CMYCLASS imyclass;和CMYCLASS *pimyclass =new CMYCLASS;这两种方式有什么差别,是不是new的话就一定要手动delete
还有一个题外话问题 stl::string 是不是0结尾的?(NULL-terminal)
还有非unicode模式里面的汉字存储和unicode模式里面的汉字存储在内存里面是不一样的?(小头存储模式)
gb2312中汉字的编码和汉字的unicode的编码是一样的,2中模式中存储方式不一样?
...全文


