C++ 예제 (Custom Iterator)

이미지
C++ STL의 템플릿 클래스들이 제공하는 이터레이터를 직접 구현해본 예제 입니다. 예를 들면, std::vector 의 이터레이터를 다음과 같이 사용합니다. std::vector<int> v; v.push_back(5);  v.push_back(3);  v.push_back(7);  // 이터레이터 선언 std::vector<int>::iterator itr = v.begin(); 직접 템플릿 클래스를 만들고 이를 순회하는 iterator 도 직접 만들어 보는 것이죠. 이진 탐색 트리( B inary S earch T ree, 이하 BST)의 Iterator를 직접 구현 해보고자 하는 학원생이 있어 같이 공부하며 만들어 보았습니다. 이 게시물은 BST의 기본적인 구현을 설명하지 않습니다. 인터넷에 많은 자료가 있으므로 참조하기 바라며, Custom Iterator 의 내용 위주로 설명하겠습니다. 구글 검색으로 아래 사이트의 도움을 많이 받았습니다. 미국 "The Ohio State University, Steven J Zeil" 교수님이 구현한 예제이며, 해당 주제에 대해 잘 정리되어 있습니다. 링크 :  https://www.cs.odu.edu/~zeil/cs361/latest/Public/treetraversal/index.html 아래와 같이 사용합니다.  Main.cpp #include <iostream> #include <string> #include "bst.h" int main() { // int type bst ocs::bst<int> b1; b1.insert(5); b1.insert(3); b1.insert(7); b1.insert(2); b1.insert(10); std::cou

C++ 예제 (Qt Android App 개발환경)

이미지
개요 이번 포스팅은 C++과 Qt 를 이용해 안드로이드 앱 을 만드는 과정을 진행할 계획입니다. 앱은 간단한 샘플로 제작하고, Qt를 이용해 C++ Android 개발환경을 구축 하는 방법에 대해 집중해 보았습니다. 저 또한 데스크탑 환경이 아닌 낯선 모바일 개발환경을 처음 접했을 때, 이 부분이 가장 어려웠습니다. 결과부터 살펴보면 PC와 폰을 연결해 Qt의 Cross Platform  을 이용, Windows 플랫폼에서 개발 -> Android 플랫폼에서 실행 으로 구성되어 있습니다. [Windows 10, LG G7 연결] [Qt 앱 실행화면] 물론 이 방법 외에도 안드로이드 앱을 만들 수 있는 개발환경은 다양합니다. Android Studio(Java or Kotlin),  Microsoft Xamarin(C#) 등 선호하는 방법으로 개발환경은 스스로 선택하면 되겠습니다.   개발 환경 구축 이 예제는 Windows 10 Pro 64bit 운영체제에서 구성, 작성되었습니다. 더불어, 아래의 구성요소들이 필요합니다.  Qt Android Studio Android NDK Java JDK   1. Qt 설치 Qt는 C++로 만들어진 Class들의 집합이며, 크로스 플랫폼을 지원합니다. GUI ( G raphic U ser I nterface) 개발에 주로 사용되지만, 네트워크, 블루투스, 3D, 쓰레드 등 다양한 분야의 클래스를 지원합니다.   설치 후 Qt의 통합개발환경인 Qt Creator를 통해

C++ 예제 (CPP REST SDK)

이미지
오늘은 Microsoft 에서 배포한 C++ REST SDK ( 코드명 : 카사블랑카 ) 를 이용해 Http Request 를 하는 내용에 대해 다룹니다. 목표 공공 데이터 포털의 시도별 코로나 정보를 REST API를 이용해 처리   바로 앞 예제에서 파이썬을 이용해 만들어 본 코로나 예제 와 개념은 동일하지만, C++을 이용해 시도해 보았습니다.   간단히 전반적인 개요 를 살펴보면, 1. 공공 데이터 회원 가입 (앞 게시물 참조) 2. 코로나 시도별 정보 권한(키) 획득 3. Microsoft REST SDK를 이용한 요청데이터 생성 및 전송 4. 응답 데이터 문자열(UTF-8) 수신 (XML or JSON), 신청 정보별로 다름 5. XML 파싱 후 MFC CListControl 에 출력 6. 전국 시도별 코로나 정보 획득   쿼리 요청 후 응답 결과는 아래와 같이 처리됩니다. [쿼리 요청 후 응답 데이터 리스트 컨트롤 출력] [응답 데이터 XML 문자열] 프로젝트 생성 과정 은 다음과 같습니다. 1. C++, MFC 대화상자 프로젝트 생성 2. 프로젝트 생성 후 솔루션 탐색기->프로젝트 우클릭 ->NuGet 패키지 관리 3. CPPREST 검색 후 해당 패키지 설치 4. 설치 후 솔루션 폴더 아래 Packages 폴더 설치 확인 이제 Microsoft 에서 만든 Rest SDK 를 이용해 C++로 코드 작성 준비가 완료 되었습니다.   MS REST SDK(카사블랑카)

이 블로그의 인기 게시물

Qt Designer 설치하기

C++ 예제 (소켓 서버, 이미지, 파일전송)