从std :: vector初始化std :: string 导致“在xstring内部发生读取访问冲突”

问题描述 投票:-4回答:2

在C ++中,我们可以通过std::vector<unsigned char> tmp_1 { &some_vector[i] , &some_vector[j] };

问题:std::string有什么方法可以做同样的事情吗?类似于:

std::string tmp2 { &some_vector[i] , &some_vector[j] };

注意:* some_vector是无符号字符的向量

UPD:找到答案:输入错误,因此尝试访问[-1]元素。

c++ vector stdstring
2个回答
1
投票

[std::string具有several constructors,其中一些可用于从std::vector构造字符串,例如:]]

// using a char* pointer and a size...
std::string tmp2( reinterpret_cast<char*>(&some_vector[i]), j-i );

1
投票

此:

© www.soinside.com 2019 - 2024. All rights reserved.