본문 바로가기

Development/C|C++|C#9

[C++]JSON 데이터 트리(Tree)스키마 파싱 논문 구현 [C++]JSON 데이터 트리(Tree)파싱 논문 구현Schema-mgmt-doc-store4.2 eSiBu-Tree & EST-Based Record Schema Grouping7 Query 2 based on eSiBu-TreeLibrary : jsoncppMain Algorithm : BFSMain Datastructure : Queue (STL-deque)핵심은 JSON 데이터를 트리의 형태로 구조화하는 것. Node, NodeManager class를 통해 적절한 방식으로 ID, parent등을 처리하여 구조화함 json 구조 데이터를 트리화하여 표현하면 더 효율적으로 찾을 수 있다나.. 이런 내용의 논문이다. 트리화 하는.. 2016. 10. 19.
[Effective C++]2. 생성자, 소멸자 및 대입 연산자 생성자, 소멸자 및 대입 연산자 항목5. 컴파일러산 함수들에 대한 주의 - 복사 생성자. 기본 생성자. 복사 대입 연산자 * 복사 생성자/대입연산자 → 비정적(non static) 멤버 복사 * 기본생성자 → 다른 생성자를 임의로 만든 경우 컴파일러가 만들지 않음 - 참조자 or 상수데이터멤버의 경우 복사 생성자/대입연산자 사용 불가 항목6. 컴파일러산 함수가 필요X → 제거법 1. private로 복사 생성자/대입연산자 생성(cf.friend) & 정의 없이 선언만 2. uncopyable 객체를 상속 (from boost lib) → 컴파일 에러 항목7. 다형성을 가질 기본 클래스는 소멸자를 가상 소멸자로 선언. - ex, 기본클래스 → polyA, B, C : 기본클래스의 ptr 반환 → ptr d.. 2016. 10. 16.
[Effective C++]1. C++에 왔으면 C++의 법을 따릅시다. C++에 왔으면 C++의 법을 따릅시다. 앞으로 몇번에 걸쳐 Effective C++ 각 장마다 정리를 할거다. 최선을 다하겠으나 배우는 과정이라 실수 가능.. 항목1. C++의 다중 패러다임 - 절차지향 - 함수이용 - 객체지향 - 일반화 프로그래밍 - 템플릿 프로그래밍 - STL 요소 - 생성자/소멸자 → '상수 객체에 대한 참조자 전달' (객체의 타입조차 모름) - STL iter (반복자) : C의 포인터 역할 항목2. #define 대신 const, enum, inline 사용 권장 - #define은 선행처리자이며 나머지는 컴파일러가 수행함(헤더파일내 선언) - 상수포인터 정의시 const char * const name = "~"; - *의 왼쪽 : 상수데이터 - *의 오른쪽 : 상수포인터 .. 2016. 10. 14.
[QT 5.7]QFileDialog 한글 깨짐 현상 [QT 5.7]QFileDialog 한글 깨짐 현상 최근 QT를 공부해보고 있는데 뭐하나 쉽게 되는게 없다. 특히 구글링에서 나오는 자료는 하나같이 QT4 이전이라 새롭게 시작하는 나는 5.7로 공부중이기 때문에 여간 버겨운게 아니다. 참고로 QT5.7은 16년 6월에 나왔다고 한다. 서론이 길었다. QFileDialog를 사용하는데 타이틀바, 확장자 부분 한글이 깨져서 출력된다. void MainWindow::on_pushButton_2_clicked() { QString fileName = QFileDialog::getOpenFileName(this, tr("압축파일을 선택하세요"), QString(), tr("압축파일 (*.zip *.alz)")); ui->lineEdit->setText(fileN.. 2016. 10. 12.