class Tile
{
public:
int key;
int x;
}
std::vector<Tile> t;
이렇게 선언했는데
푸쉬해서 1~100까지 key에 입력 받았을 때 (x랑 관계없이)
find로 어느 타일에 키값이 원하는 값이랑 같은지 찾을 수 있을까요
설명 참 못했죠 ㅈㅅ..
class Tile
{
public:
int key;
int x;
}
std::vector<Tile> t;
이렇게 선언했는데
푸쉬해서 1~100까지 key에 입력 받았을 때 (x랑 관계없이)
find로 어느 타일에 키값이 원하는 값이랑 같은지 찾을 수 있을까요
설명 참 못했죠 ㅈㅅ..
벡터에는 키로 찾는 거 없는데요.
저런식으로 키와 값이 원소마다 있고 find를 통해서 키를 찾으려면 map을 써야되용
만든 클래스로 선언한 벡터로 값을 찾고 싶은거에요 ㅠ
정 map 쓰기 싫고 벡터 쓰고 싶으시다면, 벡터에 키 심어서 find하려면 std::pair로 키와 값 쌍 만드시고 전용 find를 람다같은걸로 만드셔야 되용
아아 그럼 맵으로 바꿔보겠습니다 감사합니다
2008에선 람다 못쓰는 걸로 알고있는데 그럼 벡터로는 방법이 없을까요?
그리고 map 쓰시되 키값 중복되는 게 있다면 multimap 쓰시면 되용.
람다 못 쓰면 걍 for문 돌려서 찾는 수 밖에
어짜피 벡터는 메모리상에서 align되게 원소들이 들어가 있어서 for문 돌려도 속도 빨라용
그렇군요 할 수 있다면 벡터로도 해보고 맵으로 바꿔보려고 합니다 답변 너무 감사드려요
find_if로 제가 원하는 방법을 사용 할 수 있었는데, 혹시나 모르시는분이 있을까 아니면 제 설명이 거지같아서 다르게 이해 하셨을까 해서 글 달아요 ㅎㅎ 그래도 답변 너무 감사합니다 참고 많이 됐어요