关于字符串指针初始化std::string的一个小问题

原创 2015年11月21日 20:02:20

     STL里面的字符串类std::string,它有一个参数为char*的构造函数,今天写代码的时候想到一个问题:我们用一个cha*的指针初始化std::string后,这个char*指针还需要自己主动delete,释放它吗?


今天写了一个小程序试了一下,结论是:需要自己主动释放。

       测试代码:

#include<iostream>


int main()
{
        char *a = new char[10]{'a','b','c','d','\0'};
        std::string b(a);
       
 delete a;
       
  std::cout << b << std::endl;
       
  return 0;
}
~               

       最后输出了正确的结果,程序没有崩溃。

实战c++中的string系列--不要使用memset初始化string(一定别这么干)

参考链接: http://www.cppblog.com/qinqing1984/archive/2009/08/07/92479.html百度百科第一次这么给力: void *memset(vo...
  • wangshubo1989
  • wangshubo1989
  • 2015年12月14日 21:32
  • 4719

C++字符串string类常用操作详解(一)【初始化、遍历、连接】

代码示例:#include #include "string" using namespace std; //字符串初始化 void strInit() { cout ...
  • y396397735
  • y396397735
  • 2015年09月20日 12:14
  • 7350

关于c++中字符串和字符指针之间的转化

前几天在做网络通信时,遇到一个小问题,里面有一个要把字符串转化为字符指针的需求。 要把字符指针赋值给字符串很简单,直接赋值就可以了。char *a="abcd"; string b=a;///把指针...
  • u013230291
  • u013230291
  • 2016年12月15日 10:53
  • 4186

std::string一个极其隐晦得问题

std::string一个极其隐晦得问题 昨天做一个dll,代码很快写完了,然而使用得时候总是遇到string内部指针删除错误,郁闷了一天,今天没去公司,好好研究了一下。 首先看下下面这段代码,声...
  • ilvu999
  • ilvu999
  • 2012年09月03日 23:45
  • 658

没有躲过的坑--std::string初始化、最快速判断字符串为空

之前说过,记得给变量初始化。今天突然想到了一个问题,如果声明了一std::string类型,怎么初始化呢?std::string test_string; std::string test_strin...
  • wangshubo1989
  • wangshubo1989
  • 2015年12月03日 00:47
  • 10335

用指针给数组赋值的一个小问题

问题是这样的, 我打算输入与元素为数组赋值, 然后反向输出数组元素# include int main(void) { int a[10], * p = a, i; for (i...
  • williamgavin
  • williamgavin
  • 2017年06月03日 11:28
  • 2191

函数参数用指针或引用传递时发现的一个小问题

今天看php手册时,看到引用那一章节时,有这么一段代码: $baz = "hello world!"; function foo (&$var) { $var =& $GLOBALS["...
  • huanyingxidian
  • huanyingxidian
  • 2013年06月02日 19:50
  • 401

关于指针的一个小问题

任务:(《C++ Primer  4th》习题5.18)编写程序定义一个vector对象,其每个元素都是指向string类型的指针...
  • zhao708981169
  • zhao708981169
  • 2014年07月03日 17:07
  • 349

关于Objective-C 对象release操作野指针的一个小问题探讨

最近遇到这样一个问题,以前的时候并未注意;新建一个工程,然后添加一个类,文件结构是这样的 然后写了这样一小段程序,运行 [cpp] view p...
  • tuluigi
  • tuluigi
  • 2013年04月09日 17:25
  • 1217

有关C++中常量字符串的一个小问题

在C++中,常量字符串存储在常量存储区,不允许被修改。 对于一个变量,要考虑到其定义、释放、存储区域、是否允许被修改。 在C++中,内存分为5个区,分别是: 1.栈,就是那些由编译器在需要的时候分配,...
  • daiercaomei
  • daiercaomei
  • 2013年09月28日 17:57
  • 394
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于字符串指针初始化std::string的一个小问题
举报原因:
原因补充:

(最多只允许输入30个字)