Cta*_*tak 5 c++ stl linked-list list long-integer
现在我正在使用一个复制构造函数来获取一个名为 char 类型的 val 的列表,并且我需要获取传递到复制构造函数中的字符串 v 的所有元素并将它们放入 val 列表中。
Public:
LongInt(const string v);
Private:
list<char> val;
Run Code Online (Sandbox Code Playgroud)
因此,在 LongInt 类的公共部分中,我有一个复制构造函数,它接受 val 列表并将 v 字符串复制到其中。谁能帮我弄清楚如何做到这一点?提前致谢!
您必须迭代字符串并逐字符提取数据。使用该std::copy
算法应该有效:
std::copy(v.begin(), v.end(), std::back_inserter(val));
Run Code Online (Sandbox Code Playgroud)
在你的LongInt
构造函数中只需使用iterator, iterator
list
构造函数:
LongInt(const string v) : val(v.begin(), v.end()) { }
话虽如此,您是否考虑过实际使用string
或可能deque<char>
操纵您的序列而不是list
?根据您的需求,这些替代方案可能会更好。