Título: Consulta sobre declaración de vectores Publicado por: Orubatosu en 22 Noviembre 2014, 21:51 pm Una consulta de la que los expertos se van a reir, pero como no lo soy ;D
Un string cualquiera de una dimensión puede declararse directamente. Código: int a[5] = {-1, 1, 5, 12, -4} Creo que no es posible (al menos el compilador me regaña), pero ¿existe algún constructor que me permita algo parecido con un vector? ¿y con un vector de mas de una dimensión? Soy plenamente consciente de que puedo "apañar" una función a la que le pase un string o un array y lo meta en un vector, pero me pregunto si existe una forma diferente de hacerlo Supongamos que tengo un vector tal que: Código: vector <vector<int> > Por_ejemplo ¿Existe algún modo de construir por ejemplo la fila 0 mediante una declaración del estilo de los arrays? Si me decís "no, no puedes", pues me apaño una función para pasar los valores, pero si existe una forma diferente de hacerlo, sería mas que interesante conocerla Según la referencia oficial de C++ esto no se puede, pero claro, preguntar no cuesta nada, y lo mismo aprendo algo Título: Re: Consulta sobre declaración de vectores Publicado por: ivancea96 en 23 Noviembre 2014, 00:00 am Puedes usar su constructor:
Código
Pero lo que tú dices no se puede que yo sepa. Siempre puedes hacer una función que transforme un array en un vector. Título: Re: Consulta sobre declaración de vectores Publicado por: rir3760 en 23 Noviembre 2014, 04:07 am Un string cualquiera de una dimensión puede declararse directamente. Depende del modo de compilación, como indicar este (si para empezar es posible) depende del compilador utilizado.Código: int a[5] = {-1, 1, 5, 12, -4} Creo que no es posible (al menos el compilador me regaña), pero ¿existe algún constructor que me permita algo parecido con un vector? A partir del nuevo estándar de C++ (C++11) se puede utilizar una lista de valores para inicializar varios tipos incluido la clase vector, por ejemplo: Código
Un saludo Título: Re: Consulta sobre declaración de vectores Publicado por: Orubatosu en 23 Noviembre 2014, 11:59 am Aha... gracias por la aclaración. Me temo que el compilador GNU no contempla de momento todo el estándar C++11, de manera que tiraré "por la calle de enmedio" y hace una función para estas cosas. Afortunadamente según estoy viendo, si C++ no te deja hacer una cosa por un camino, puedes siempre intentarlo por otro sitio
Un tema que posiblemente muchos conocen, pero aprovecho para los que no. No es necesario hacer una función para asignar un string a un vector, es posible hacerlo mediante el propio constructor del mismo: Código: char A[] = {'K', 'R', 'O', 'N', 'O', 'S'}; Tengo problemas a la hora de construir vectores de mas de una dimensión, pero para los vectores "normales" esta solución es bastante rápida |