boost shared_array <char>并从char * </char>设置它

时间:2014-07-30 02:33:23

标签: c++ boost

我有一个类,构造函数接受参数char* name,然后有一个成员变量boost::shared_array<char> m_name;

如何将该参数char*name复制到m_name

2 个答案:

答案 0 :(得分:1)

使用boost::shared_array::get()

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());