C++에서 json파싱을 하기 위한 방법으로 JsonCpp를 많이 사용한다고 한다.라이브러리다. 이것을 사용해서 Json파싱을 할 수 있도록 설치 및 설정을 해보자. 우선, JsonCpp를 아래 링크로 들어가서 다운로드 받는다.http://sourceforge.net/projects/jsoncpp/ 파일을 다운받아 압축을 풀어보면, makefiles\vs71\jsoncpp.sln 을 연다. 이를 빌드하여 lib파일을 생성해야한다. 하지만, 바로 빌드하기 전에 설정할 것이 있다. 우선, sin파일을 열어보면 다음과 같이 3개의 프로젝트가 있을 것이다. (jsontest, lib_json, test_lib_json) "각각의 프로젝트 속성 -> 구성속성 -> C/C++ -> 코드 생성"에서 "런타임 라이브러..
try catch문은 예외를 처리하기위한 문법이다. try는 예외발생이 가능한 모든 문장을 하나의 일 단위로 분류한 것이며, try에서 발견된 예외의 상황에 throw가 실행되고, throw에 의해 던저진 예외데이터는 catch()에서 처리된다. (try 영역에서 코드 실행 중 에러가 발생의 경우에는 예외 이후의 try영역의 나머지 부분은 실행 되지 않게 된다. ) #include using std::cout; using std::endl; double mydiv(int a, int b){ try{ if(b==0) throw b; return a/b; } catch(int e){ cout
C++에서 클래스를 다루다보면 생성자와 소멸자가 어떻게 이루어저 있으며, 어떻게 호출되는 지 알아야한다. 말그대로, 생성자는 클래스가 생성될때, 소멸자는 메모리를 반환하여 소멸될때 호출되는 함수들이다. 그렇다면, 상속을 받은 클래스의 생성자, 소멸자는 어떻게 호출될까? #include #include"test.h" #include"childtest.h" using std::cout; using std::endl; int main(){ childtest *t = new childtest(); delete t; return 0; } 다음과 같은 코드가 있다. childtest는 test라는 클래스를 상속 받도록 해두었다. 물론 두 클래스는 아무런 기능을 하지 않는 생성자, 소멸자만을 호출하기위한 클래스들이다..
namespace는 하나의 집합을 나타낸다. 어떤 프로젝트를 하다보면, 여러 프로그래머가 만든 함수이름이 겹치게 되면 어떻게 될까..물론 프로그램이 제대로 동작하지 않을 것이다. 이를 해결하기 위한 방법이 namespace이다. A()라는 함수가 두개 있다고 하자. 하지만, A라는 함수에 어떤 부모집합이 있다면, 그 부모집합의 A()를 호출하면, 원하는 A() 함수가 구분된다. 다시말해, korea학교에 다니는 철수와 go학교에 다니는 철수가 서로 다른 철수임을 확인할 수 있듯이, 이도 마찬가지다. #include using std::cout; using std::endl; namespace AAA{ void showFunc(){ cout
- Total
- Today
- Yesterday