Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

BinaryZero

variable value to identifier

This topic is 5831 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

i need to change the value of a vaiable into an identifier for example if i="hello", the value "hello" can somehow be used as an identifier name it is possible please someone hell me how

Share this post


Link to post
Share on other sites
Advertisement
It''s very simple. You can''t (at least not there''s no way I know of).

/*=========================================*/
/* Chem0sh */
/* Lead Software Engineer & Tech Support */
/* http://www.eFaces.biz */
/*=========================================*/

Share this post


Link to post
Share on other sites
the ## operator concatenates two identifiers for example if i said i##j it would return me ij as one variable identifier. if there was a way to use the value of a variable name as and identifier i could set a counter and tell it i##*counter which would return me i1, i2, i3... etc

Share this post


Link to post
Share on other sites
You could use a string to object map.
std::map<std::string, int*> mapStringToInt;
mapStringToInt["hello"] = new int(47);
std::cout << *mapStringToInt["hello"];
EDIT: Darn HTML tags...

[edited by - dalleboy on June 9, 2002 6:39:21 PM]

Share this post


Link to post
Share on other sites
quote:
Original post by BinaryZero
the ## operator concatenates two identifiers for example if i said i##j it would return me ij as one variable identifier. if there was a way to use the value of a variable name as and identifier i could set a counter and tell it i##*counter which would return me i1, i2, i3... etc


For that purpose why not use an array? I believe Visual Basic can do something like this, however be warned, no matter what language you do it in it will be very slow. When a compiler creates machine code it converts variable names into memory addresses/offsets (the names you give them are meanless to the computer and are discarded). By accessing a variable "by name" you would have to look up the name in some form of table (as dalleboy described) to get the correct address. This would be extremely slow and consume lots of memory (assuming every varible in your program could be accessed in this way).

Share this post


Link to post
Share on other sites
>> return me i1, i2, i3... etc

yes, or even just an array i[1], i[2], i[3] instead of i1, i2, i3.

[edited by - felonius on June 9, 2002 6:52:13 PM]

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!