您的位置:首页 > 编程语言 > C语言/C++

C++结构体初始化

2013-12-03 10:58 246 查看
今天遇到一个问题,如下:

struct uct
{
   /*
   ...
   */
   std::string strbuf;
}
结构体是封装在一个LIB库里,当外部程序使用LIB库时 ,LIB库用到了这个结构体,在使用的地方,通过调用可以看到std::string strbuf这个变量为错误的指针,在程序里对strbuf进行任何操作都会出现错误,正确使用如下:

struct uct
{
   /*
   ...
   */
   std::string strbuf;
   uct()  //构造函数
  {
     strbuf = "";
  }
}
平常可能会忽略掉这点,这才是正确的写法,特别是LIB库发生这种错误的情况下,定位到代码点非常麻烦,为了更少的出现错误,严谨一点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: