C++/Syntax 2021. 3. 11. 16:54

문자열 (string)

text segment

  #include <iostream>

  int     main()
  {
    using namespace std;

    const char* name = "Jack jack";
    const char* name2 = "Jack jack";

    cout << (uintptr_t)name << endl;
    cout << (uintptr_t)name2 << endl;
  }
  • 두 출력 결과는 같다.

  • 메모리 영역 중 text segment(=code segment, text) 에 저장된 데이터의 주소를 불러오는 것이다.

  • 위키피디아


연산자 오버로딩

  • std::cout << (char *)

    • char * 형태의 주소가 오면 문자열로 인식한다.

    • 즉 null character('\0')가 등장할 때까지 출력한다.

    • 다음과 같은 예제에서는 주소가 나오지 않고 Q儆儆m8? 이런식으로 나온다.

      #include <iostream>
      
      int     main()
      {
        using namespace std;
      
        char c = 'Q';
        cout << &c << endl;
      }

'C++ > Syntax' 카테고리의 다른 글

C++ 레퍼런스 (Reference, 참조)  (0) 2021.03.12
C++ Stack Size  (0) 2021.03.11
C++ nullptr_t  (0) 2021.03.11
C++ 배열 (Array)  (0) 2021.03.11
C++ 반복문  (0) 2021.03.11