假设我有以下结构:
struct A { std::string str; };
如何将char缓冲区添加到稍后在程序中放置在A struct中的std :: string str?
char bufer[]="somestring";
A* ptr=new A;
ptr-> // how to add char buffer to std::string str here?
答案 0 :(得分:2)
char bufer[]="somestring";
A* ptr=new A;
ptr->str = buffer;
此外,
char bufer[]="somestring";
A a;
a.str = buffer;
请注意,ptr
和a
拥有自己的字符串副本。如果您更改buffer
的内容,str
或ptr
中的值a
将无法更改。相反,如果您更改str
或ptr
中的值a
,则不会更改buffer
的内容。