永发信息网

C++中如何将一个字符串对象置空

答案:4  悬赏:30  手机版
解决时间 2021-04-01 07:06
  • 提问者网友:沉默的哀伤
  • 2021-03-31 18:20
C++中如何将一个字符串对象置空
最佳答案
  • 五星知识达人网友:鱼忧
  • 2021-03-31 19:02
LS全部都是坑爹答案,要么没明白LZ意思,要么就是错的。

#define M 256
char string[M] = {0};

这样就行了。M是字符数组的大小。足够大就行。
string str=" ";

这个显然错了,因为字符串不为空,而是有个空格。
string str="";

这个确实是空的。但是string是个类。我估计LZ的意思应该是一般的char *吧
而且string的默认构造函数得到的就是空字符串,完全没必要多此一举。

string str;
这样得到的就是空字符串。

最后
char *p = "";
这样得到的也是空字符串,但是这个字符串是只读的,即不可更改。虽然我这里没用const char *也能编译通过。但是系统确实不会允许你修改它。

对于那个推荐答案,虽然对于指针来说,这就是置空,但LZ显然问的不是这个。
全部回答
  • 1楼网友:山有枢
  • 2021-03-31 22:49
char* p; ....; p = (void*)0;即可。
如果是动态分配的内存(使用malloc 或 new),置空之前要将内存释放(free 或 delete)
  • 2楼网友:持酒劝斜阳
  • 2021-03-31 21:49
string str=" ";
  • 3楼网友:酒者煙囻
  • 2021-03-31 20:25
string str="";
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯