c++ - sumar - ¿Cómo paso múltiples entradas en un vector a la vez?
suma de vectores en c++ (5)
Pruebe pasar matriz a vector:
int arr[] = {2,5,8,11,14};
std::vector<int> TestVector(arr, arr+5);
Siempre se puede llamar a std::vector::assign para asignar matriz a vector, llamar a std :: vector :: insert para agregar múltiples matrices.
Si usa C ++ 11, puede intentar:
std::vector<int> v{2,5,8,11,14};
O
std::vector<int> v = {2,5,8,11,14};
Actualmente cuando tengo que usar vector.push_back()
varias veces.
El código que estoy usando actualmente es
std::vector<int> TestVector;
TestVector.push_back(2);
TestVector.push_back(5);
TestVector.push_back(8);
TestVector.push_back(11);
TestVector.push_back(14);
¿Hay alguna manera de usar solo vector.push_back()
una vez y simplemente pasar varios valores en el vector?
Puedes hacerlo con la lista de inicializadores:
std::vector<unsigned int> array;
// First argument is an iterator to the element BEFORE which you will insert:
// In this case, you will insert before the end() iterator, which means appending value
// at the end of the vector.
array.insert(array.end(), { 1, 2, 3, 4, 5, 6 });
También puede usar Boost.Assignment :
const list<int> primes = list_of(2)(3)(5)(7)(11);
vector<int> v;
v += 1,2,3,4,5,6,7,8,9;
También puedes usar vector::insert .
std::vector<int> v;
int a[5] = {2, 5, 8, 11, 14};
v.insert(v.end(), a, a+5);
Editar:
Por supuesto, en la programación del mundo real debes usar:
v.insert(v.end(), a, a+(sizeof(a)/sizeof(a[0]))); // C++03
v.insert(v.end(), std::begin(a), std::end(a)); // C++11
utilizando vector :: insert (const_iterator position, initializer_list il); vector::insert
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec;
vec.insert(vec.end(),{1,2,3,4});
return 0;
}