[완료]변수명을 참조하기

snowall의 이미지

제가 만드는 프로그램에서 사용자가 키보드로 변수명을 입력하면, 그 변수명에 해당하는 값을 출력해야 하는, 그런 기능이 필요해 졌습니다.

C나 C++에서 그런게 가능한지요?

당장 생각나는 방법은...그냥 구조체 배열을 만들고, 그 구조체 안에 변수명과 값을 둘 다 넣어두고 검색하는 형태인데...
이보다 좋은게 있는지 모르겠습니다.

Fe.head의 이미지

map을 쓰면 가능할것 같은데요.

#include <map>
#include <string>
#include <iostream>
 
using namespace std;
 
int main()
{
    map<string, int>    mapA;
    mapA["varA"] = 10;
    mapA["varB"] = 20;
 
    string var;
    cin >> var;
    map<string, int>::iterator i = mapA.find( var );
    if( i != mapA.end() ) {
        cout << i->first << " = " << i->second << endl;
    }
    else {
        cout << var << " is not exist.\n";
    }
 
    return 0;
}
 
출력결과
 
$ ./var
varA
varA = 10
 
$ ./var
varB
varB = 20
 
$ ./var
varC
varC is not exist.

-----------------------
과거를 알고 싶거든 오늘의 네 모습을 보아라. 그것이 과거의 너니라.
그리고 내일을 알고 싶으냐?
그러면 오늘의 너를 보아라. 그것이 바로 미래의 너니라.

고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"

snowall의 이미지

감사합니다. 시도해 보겠습니다.^^

--------------------------
snowall의 블로그입니다.
http://snowall.tistory.com

피할 수 있을때 즐겨라! http://melotopia.net/b