如何将vector <int>连接到C++中的单个int?

Sar*_* H. 1 c++ int vector

如何在int ++中将int的向量转换为单个int?

vector<int>myints = {3, 55, 2, 7, 8}
Run Code Online (Sandbox Code Playgroud)

预期答案: 355278

Sea*_*ean 7

这是一个快速而肮脏的方式:

using namespace std;

vector<int> myints = {3, 55, 2, 7, 8};
stringstream stream;

for(const auto &i : myints)
{
    stream << i;
}

int value = stoi(stream.str());
Run Code Online (Sandbox Code Playgroud)

这是一种没有字符串的方法:

using namespace std;

vector<int> myints = {3, 55, 2, 7, 8};

int value = 0;
for(auto i : myints)
{
    int number = i;
    do
    {
        value *= 10;
        i /= 10;
    }while(i != 0);

    value += number;
}

cout << value << endl;
Run Code Online (Sandbox Code Playgroud)

i /= 10是关键位,因为它根据当前数字中的位数来缩放数字,i