티스토리 뷰
Visual Studio 2012
비주얼 스튜디오 2010부터 람다 함수를 지원한다.(C++11 기준)
MFC를 사용하면서 CArray나 CStringArray를 사용하게 되었는데,
정렬 기능을 지원하지 않기에 검색한 내용을 바탕으로 작성하였다.
1. 람다 함수
- 간단하게 표현하면 아래와 같다. 자세한건 검색으로 찾아보자.
[변수 캡쳐] (받을 인자)-> 리턴타입{함수}(넘길인자)
2. CArray 사용하기
- 우선 CArray를 사용하기 위해선 아래와 헤더를 선언하여야한다.
// ... #include <afxtempl.h> // ...
- CArray도 선언하자.
// ... CArray<int> arr; // ...
3. 람다 함수를 사용하여 정렬하기
// ... CArray<int> arr; arr.Add(10); arr.Add(5); arr.Add(7); arr.Add(3); // ... bool bAscending = true; // ... std::sort( arr.GetData(), // position of first element arr.GetData() + arr.GetSize(), // position one past the final element
[bAscending] // lambda introducer (const int& left, const int& right) // lambda formal parameters list { return bAscending ? (left < right) : (left > right); }// lambda body ); // ...
- 위와 같이 하게 되면 오름차순으로 정렬이 될 것이다. arr.GetCount()를 활용하여 배열의 개수를 구하고, arr.GetAt(int index)를 활용하여 값을 나열해보면 정렬 완료!
- MFC 배열의 다른 타입들도 위의 함수를 활용하여 정렬 가능하다.(CStringArray, CUIntArray 등)
'Programming > MFC(C++)' 카테고리의 다른 글
[MFC] CreateProcess와 CreatePipe를 이용하여 ping command 실행 하고 결과 읽기 (0) | 2018.10.26 |
---|---|
[MFC] CListCtrl 클립보드 복사 구현하기(Ctrl+C 기능 구현) (1) | 2018.10.26 |
[MFC] 멀티스레드 사용하여 소켓통신 채팅 서버 프로그램 만들기 (9) | 2018.07.20 |
[MFC] 소켓통신 채팅 클라이언트 프로그램 만들기 (14) | 2018.07.19 |
[MFC] 소켓통신 채팅 서버 프로그램 만들기 (21) | 2018.07.19 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Modeless
- 법정동코드
- 스티커메모로드중
- SendMessage
- 스쿠트항공 환불받기
- MXCOMPONENT
- 부가가치세
- ADODB
- Sticky Notes Loading
- 세금계산서합계표양식
- 전자신고변환
- 청년내일채움공제
- 모달리스
- c++
- 소켓
- 모달리스 다이얼로그
- 프로세스이름변경
- sqlite3
- 청년내일채움공제 만기신청
- MFC Modeless
- 전자신고파일설명서
- 항공알파벳
- #자동업데이트
- ADO
- MFC ADO
- MFC
- 부가가치세전산매체
- CMFCBUTTON
- 해외송금확인
- MSSQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함