나만의 작은 도서관

[문자열] str1 == str2 는 TRUE? 본문

C++/문법 및 메소드(STL)

[문자열] str1 == str2 는 TRUE?

pledge24 2023. 9. 10. 23:34

여러가지 프로그래밍 언어를 배우다 보면 문자열에 대한 의심이 많아진다.

어떤 언어는 같고, 어떤 언어는 같지 않고... 언어에 따라 달라지니 문자열 판정은 늘 헷갈리는 문제이다.

이 글은 C++에서 서로다른 변수가 같은 문자열을 가지면 같은 판정인지 실험해본 내용을 담고있다.

#include <iostream>
#include <string>

using namespace std;

int main(void) {
	string str = "Hello";
	string str2 = "Hello";
	if (str == "Hello") cout << "equal" << '\n';
	if (str == str2) cout << "equal2" << '\n';
	return 0;
}

 

출력결과

equal
equal2

 

출력결과와 같이 변수든, 직접적인 문자열이든, C++은 일치 여부를 판단할 때 같다고 판단하는 것을 볼 수 있다. 

메모리 주소의 일치 요소는 문자열에선 고려하지 않는 듯 하다.