今天跟客户对接,用他给的api,发现了问题。
在结构体中将char *改成std::string 后,发现声明结构体会导致崩溃。
如下所示:
struct my_parma
{
string name; // 不要这样,有时候会崩溃
char name2[64]; // 可以这样
char* pname; // 可以这样
int age;
};
解决方法:
要么就在构造函数中给string 赋值。空值就行
要么就改成char * 。或者const char*。
本文探讨了在C++结构体中使用std::string导致的潜在崩溃问题,特别是在结构体声明阶段。通过对比char数组和char指针的使用,提出了两种解决方案:一是初始化string成员,二是改用char指针或const char指针。
651

被折叠的 条评论
为什么被折叠?



