永发信息网

C++ new问题

答案:1  悬赏:80  手机版
解决时间 2021-06-06 15:09

#include <cstdlib>

#include <cstring>

#include <iostream>

using namespace std;

class str
{
public:

str(){ _string = 0, _size = 0; }

str(const char *pstr);

str(const str&);

int size(){ return _size; }

const char *c_str() { return _string; }

~str(){ free((void *)_string); }

private:

int _size;

char* _string;
};

str::str(const char *pstr)
{
if(!pstr)
{
_string = 0;

_size = 0;

return ;
}

_size = strlen(pstr);

// why here when use the _string = new char[_size + 1] expression cause the problem below:

// there is no source code available to the current location;


_string = (char *)malloc(_size + 1);

// do not test malloc failure

strcpy(_string, pstr);
}


str::str(const str& rhs)
{
if(rhs._string == 0)
{
_string = 0;

_size = 0;
}

else
{

_size = rhs._size;

_string = (char *)malloc(_size + 1);

// do not test malloc failure

strcpy(_string, rhs._string);
}
}

int main()
{

str strobj1("C++ Premier");

str strobj2(strobj1);

std::cout << strobj1.c_str() << "\n"

<< strobj2.c_str() << "\n";
}

最佳答案
// there is no source code available to the current location;

这个只是调试的问题
估计vc里没加入new的源码级调试文件,所以跟不了,只能看汇编了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
轻伤害在刑事附带民事审判中赔偿情况对量刑有
音速最高几级
Y450A-TSI(E) 摄像头怎么调
DNF男职业中后期单刷谁最厉害阿?狂战我有了排
违章建筑找谁处理
祭祀如此加点行吗
中病毒啦求救
流产后半年内要孩子可以吗
d=8厘米面积怎么算
为何我手机不能上空间?
关于Q邮箱里的空间阅读
走动下头就痛
武陵区常德铭泽三丰养生堂(德山店)地址有谁知
QQ空间的装扮有详细教程的来
感叹号有几种含义?
推荐资讯
砒霜如果和菜一起煮,熟了会有刺鼻气味或异样
老婆!你在哪?
哪种手机的照相功能最好?
请问亲们 东方神起 zoom in super未公开部分
最有效的瘦脸方法是什么
守护甜心三只彩蛋与恋爱王牌中的一些问题
安徽二区聚冥皮鞋和青龙渡海绑腿能卖多少?
宁波北仑区污染
DNF什么时候出时装或者礼包啊??
给我4道六年级上册分数应用题
游戏人生有没有传递的!
怎么样可以更快的点亮所有的QQ图标呢?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?