std::map<std::string, int>::iterator search_result;
search_result = my_list.find(find_key);
if(strcmp((*search_result).first.c_str(), ""))
{
fix = 1
}
이게 my_list 에서 find 했다가 아무 값도 없으면 fix =1 로 해준단 건가요?
first.c_str 이 머죠?
std::map<std::string, int>::iterator search_result;
search_result = my_list.find(find_key);
if(strcmp((*search_result).first.c_str(), ""))
{
fix = 1
}
이게 my_list 에서 find 했다가 아무 값도 없으면 fix =1 로 해준단 건가요?
first.c_str 이 머죠?
.c_str은 string클래스에 있는 string 객체를 c스타일의 char *형으로 바꾸어주는 멤버함수고 아마도 내기억에는 strcmp라는 함수는 ""와 같으면 0을 리턴해줄거야 즉 같지 않으면 fix=1
딱 꼬라지 보니까 서치결과값의 첫번째 문자열이 빈문자열이면 fix에 1을 대입같음
그럼 STL MAP find 함수가 안에 키값이 없으면 빈문자열 돌려줘요?
리스트 안에 무슨 값이 들어가며 find_key가 먼지를 알아야 유추가 가능한데 저렇게 일부많 넣어놓으면 답을 못함. 원칙적으로는 만약에 찾는 값이 없으면 list.end()값을 반환해서 아마 접근이 불가능할걸?
맵 쓰지 마라 std::unordered_map 만 써라. 아무도 std::map 안 써
map도 쓰기나름이지 정렬된다는 점에서 매리트있는 자료구조인데
정렬 데이터 쓸려고 누가 map 을 쓰냐. 그리고 map 진짜 너무 느려서 아무데도 못 씀. 지이이잉ㄴ짜 드려
ㄴ c++ 허접
ㄴ 내 꼬추가 니보다 C++ 잘함 - return 0;