728x90
반응형
list를 사용하다가 두 개의 데이터를 담아야 해서 pair를 사용했다.
찾을 때는 통상 first로 찾았는데, 이는 사실 map을 이용하는 편이 훨씬 편하다.
list에서 pair를 사용하여 둘 다 만족하는 데이터를 검색하는 약간의 뻘짓을 해보았다.
#include <iostream>
#include <string>
#include <list>
#include <algorithm>
using namespace std;
int main()
{
list<pair<string, string>> list1;
list1.emplace_back("1", "1");
list1.emplace_back("2", "1");
list1.emplace_back("2", "3");
string row = "2";
string col = "1";
auto func = [row,col](pair<string, string> const & b) { return b.first == row && b.second == col; };
auto pos = find_if(list1.begin(), list1.end(), func);
cout << pos->first << " | " << pos->second << endl;
return 0;
}
람다 함수와 algorithm의 find_if 를 사용하여 테스틀 해봤는데, 잘 찾았다.
728x90
반응형
'Program Language > C & C++' 카테고리의 다른 글
[C++] STL map에서 erase 사용 시 주의점 (0) | 2023.08.24 |
---|---|
/SAFESEH (이미지에는 안전한 예외 처리기가 있습니다.) (0) | 2022.10.12 |
[C++] C#에서 사용할 수 있게 Lib 만들기 (0) | 2022.09.15 |
[C++] C#에서 사용할 수 있게 Lib 만들기 (CLR Class) (0) | 2022.09.15 |
[C++] 소문자/대문자 변환 (tolower, toupper) (0) | 2022.08.23 |