-3

我有一个非常大的 wchar_t 数组。我想从这个 wchar_t 数组的一部分构造一个 wstring,例如在 i 和 j 之间。

我不想把大字符数组变成一个 wstring,然后取一个子字符串。

请问我该怎么做?

4

1 回答 1

7

使用迭代器对构造函数:

std::wstring str(arr + i, arr + j + 1); //need one past the end

在这种情况下,添加是有效的,因为指针是随机访问迭代器。对于在迭代器不支持时工作的通用形式operator+,使用std::next(arr, i)and std::next(arr, j + 1)。如果担心泛型,std::begin也可以使用它来代替,因为它适用于数组和标准容器。arr

于 2013-03-17T21:13:38.763 回答