2011-12-27 14 views
5

Duplicar posibles:
Convert string to variable name or variable type¿Cómo usar una cadena como nombre de variable en C++?

Cómo utilizar el valor de cadena como un nombre de variable en C++

string listName = "hari"; 
string vectorName = "BF_vector_"+listName; 
vector<string> vectorName; 

vectorName.push_back("Some Value"); 

Cómo utilizar el valor de cadena ("BF_vector_hari") de vectorName como nombre de variable del vector. Gracias de antemano.

+0

¿Quiere decir dinámicamente que una variable vectorial tenga el nombre "BF_vector_hari" similar al doble $ de php? – Lalaland

+6

¡Tú ... no! Incluso en idiomas que * do * respaldan esto ... piénselo dos veces. –

+0

@EthanSteinberg sí. Quiero dar el nombre de la variable de forma dinámica en función del valor de la cadena. – DreamCodeer

Respuesta

9

No se puede en C++.

Una cosa que puede hacer es usar un formulario de std::map<std::string, std::vector> para almacenar el nombre en el mapa vectorial.

+0

Gracias. No quiero que el código sea más complejo. – DreamCodeer

+0

¿Más complejo que qué? –

6

Usted no tiene.

Los nombres de las variables son una construcción en tiempo de compilación. El contenido de una cadena es un concepto de tiempo de ejecución (los literales de cadena son ligeramente diferentes, pero tampoco funcionarán). A menos que escriba una capa de asignación específica (que asigna un nombre de cadena a algún objeto), no puede usar una cadena como nombre de variable.

O un nombre de tipo para ese asunto.

+0

Gracias por su respuesta – DreamCodeer

Cuestiones relacionadas