Autor
|
Tema: Consulta sobre declaración de vectores (Leído 2,284 veces)
|
Orubatosu
|
Una consulta de la que los expertos se van a reir, pero como no lo soy Un string cualquiera de una dimensión puede declararse directamente. 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: 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
|
|
|
En línea
|
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness" Hideto Matsumoto 1964-1998
|
|
|
ivancea96
Desconectado
Mensajes: 3.412
ASMático
|
Puedes usar su constructor: vector<char> v(5, 'W'); // {'W', 'W', 'W', 'W', 'W'}
Pero lo que tú dices no se puede que yo sepa. Siempre puedes hacer una función que transforme un array en un vector.
|
|
|
En línea
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
Un string cualquiera de una dimensión puede declararse directamente. 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? Depende del modo de compilación, como indicar este (si para empezar es posible) depende del compilador utilizado. 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: vector<int> v = {4, 3, 2, 1, 0}; for (auto it = v.begin(); it != v.end(); ++it) cout << *it << endl;
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
Orubatosu
|
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: char A[] = {'K', 'R', 'O', 'N', 'O', 'S'}; vector<char> Salida(A, A +sizeof(A) / sizeof(char));
string S_Uno[] = {"Uno", "Dos", "Tres"}; string S_Dos[] = {"Cuatro", "Cinco", "Seis"}; vector<string> Uno(S_Uno, S_Uno +sizeof(S_Uno) / sizeof(string)); vector<string> Dos(S_Dos, S_Dos +sizeof(S_Dos) / sizeof(string));
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
|
|
« Última modificación: 24 Noviembre 2014, 21:04 pm por Eternal Idol »
|
En línea
|
"When People called me freak, i close my eyes and laughed, because they are blinded to happiness" Hideto Matsumoto 1964-1998
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Pregunta tonta sobre declaracion...
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Edu
|
13
|
7,530
|
20 Marzo 2011, 23:05 pm
por Edu
|
|
|
Snowden hará este jueves una “importante” declaración sobre el juicio de Manning
Noticias
|
Mister12
|
0
|
1,006
|
2 Agosto 2013, 00:12 am
por Mister12
|
|
|
Anonymous y RedHack publican una declaración sobre OpDirenis
Noticias
|
wolfbcn
|
0
|
1,202
|
4 Noviembre 2013, 19:03 pm
por wolfbcn
|
|
|
Consulta de un noob sobre vectores dinamicos para char
Programación C/C++
|
Akumadie
|
2
|
1,939
|
23 Noviembre 2016, 03:08 am
por Akumadie
|
|
|
(Consulta) - Declaracion de punteros en Null
Programación C/C++
|
palacio29
|
2
|
1,747
|
16 Mayo 2019, 09:29 am
por MAFUS
|
|