我有一个类,构造函数接受参数char* name
,然后有一个成员变量boost::shared_array<char> m_name;
如何将该参数char*name
复制到m_name
?
答案 0 :(得分:1)
strcpy(m_name.get(), name);
答案 1 :(得分:1)
仅供参考,在现代Boost版本中,boost::shared_ptr
支持数组,因此您可以使用boost::make_shared
来分配数组:
boost::shared_ptr<char[]> m_name;
m_name = boost::make_shared<char[]>(strlen(name)+1);
然后您可以将name
的内容复制到数组中:
strcpy(m_name.get(), name);
std::copy(name, name+strlen(name)+1, m_name.get());