Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个非常大的 wchar_t 数组。我想从这个 wchar_t 数组的一部分构造一个 wstring,例如在 i 和 j 之间。
我不想把大字符数组变成一个 wstring,然后取一个子字符串。
请问我该怎么做?
使用迭代器对构造函数:
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
operator+
std::next(arr, i)
std::next(arr, j + 1)
std::begin
arr