"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C++에서 변수 이름을 문자열로 사용하여 변수의 값에 어떻게 액세스할 수 있습니까?

C++에서 변수 이름을 문자열로 사용하여 변수의 값에 어떻게 액세스할 수 있습니까?

2024년 11월 27일에 게시됨
검색:657

How Can You Access a Variable\'s Value Using its Name as a String in C  ?

C에서 변수 이름을 나타내는 문자열에서 변수 값에 액세스

C에서는 변수 값을 동적으로 가져오는 것이 가능합니다. 이름을 문자열로 지정합니다. 일반적으로 리플렉션이라고 알려진 이 기술을 사용하면 유연한 디버깅 및 자체 검사 기능이 가능합니다.

이를 달성하려면 다음 단계를 활용할 수 있습니다.

  1. 변수 가져오기 주소:

    • 변수의 주소를 검색하려면 "&" 연산자를 사용합니다. 예를 들어, &counter는 카운터가 저장된 메모리 위치를 반환합니다.
  2. 포인터로 캐스팅:

    • 변수 캐스팅 변수 유형의 포인터에 대한 주소입니다. 이를 통해 변수의 값에 간접적으로 액세스할 수 있습니다. 예: int* counterPtr = static_cast(&counter);
  3. 포인터를 통한 액세스 값:

    • 포인터를 통해 변수 값에 액세스하려면 역참조 연산자(*)를 사용하십시오. 예: std::cout
  4. 함수 래퍼:

    • 프로세스를 보다 편리하게 하려면, 변수 이름을 나타내는 문자열을 가져와 변수 값을 반환하는 함수를 만들 수 있습니다. 이 함수는 위에서 설명한 단계를 단순화합니다.

      template 
      T valueOf(const std::string& varName) {
        T* varPtr = static_cast(std::addressof(varName));
        return *varPtr;
      }

사용법:

valueOf 함수를 사용하면 변수 값을 동적으로 얻을 수 있습니다.

std::cout ("counter") 
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3