struct stTEMP_INFO
{
int nIndex;
int nValue;
stTEMP_INFO() { memset(this, 0x00, sizeof(stTEMP_INFO)); }
};
void main()
{
std::vector<stTEMP_INFO> vecTempInfoList;
//!< stTEMP_INFO 데이터 vector 리스트에 저장
for (int i = 0; i < 10; ++i)
{
stTEMP_INFO stTempInfo;
stTempInfo.nIndex = i;
stTempInfo.nValue = 0;
vecTempInfoList.push_back(stTempInfo);
}
//!< 검색
int nSearchIndex = 2;
vector::iterator iterTemp = find_if(vecTempInfoList.begin(), vecTempInfoList.end(),
[&nSearchIndex](stTEMP_INFO& info)->bool { return (info.nIndex == nSearchIndex)? true : false; });
//!< 검색 결과 유무.
stTEMP_INFO stSearchTempInfo;
if (vecTempInfoList.end() != iterTemp)
{ //!< 있다면 검색 결과 복사
memcpy_s(&stSearchTempInfo, sizeof(stTEMP_INFO), &iterTemp, sizeof(stTEMP_INFO));
}
else
{ //!< 없다면 초기화
memset(&stSearchTempInfo, 0x00, sizeof(stTEMP_INFO));
}
}
'[ Programing ] > STL & Booster' 카테고리의 다른 글
C++17. STL variant (0) | 2020.06.08 |
---|---|
C++ STL shuffle. (0) | 2020.06.08 |
STL 강제 크래쉬. (0) | 2017.10.10 |
mt19937 Random (0) | 2016.06.15 |
std::string <-> std::wstring (0) | 2013.11.14 |