IT-개발(156)
-
STL std::function 기반 콜백함수 구현
STL std::function 기반 콜백함수 구현.(출처 : http://igotit.tistory.com/213) 개요 통상 콜백함수 구현시 함수포인터 기반으로 구현하는 방식 (보기 -> http://igotit.tistory.com/212 ) 으로는 클래스 멤버함수를 콜백으로 등록하지 못하는 단점이 있다. STL (Standard Template Library) 에서 제공하는 std::function, std::bind 등을 사용하면 클래스 멤버함수도 콜백함수로 등록가능하므로 대단히 편리하다. STL 기반 콜백구현방법 아래 설명방식에서 "다른 곳", "이곳" 이란 표현은 함수포인터 기반 콜백구현방법 설명글 (http://igotit.tistory.com/212 )에서의 것과 동일한 것임. "이곳"에..
2015.10.20 -
함수포인터 - 콜백(callback) (펌)
함수포인터 (출처 : http://igotit.tistory.com/entry/%ED%95%A8%EC%88%98%ED%8F%AC%EC%9D%B8%ED%84%B0-%EC%BD%9C%EB%B0%B1Callback) 1. int Function(int a) {... } ; 로 정의된 함수가 있다치자. 2. 위 1의 함수의 포인터(함수이름이 포인터임)를 받을 수 있는 함수포인트 변수 선언하고 1의 함수포인터를 대입하는 방법 int (*pFunc)(int) = Function; 3. 2처럼 대입하고나서, pFunc(1); 이라고 호출하면 Function(1); 이 호출되는 것임. 4. 1의 함수를 다른 함수 "myfunc" 의 입력인자 로 전달하기 위한 다른 함수 "myfunc" 정의 방법.void myfunc(..
2015.10.20 -
struct, class 키워드
C++의 struct와 class 키워드는 같다네요. 유일하게 다른 점이 멤버 접근 권한을 지정하지 않으면 struct는 public이 기본이고, class는 private이 기본 속성이 된답니다. struct Sam{ ...}; class Sam{public: ...}; 요 두가지는 같은 거랍니다~ ㅜㅜ~
2015.10.19 -
연산자 오버로딩 - 전위, 후위 차이
C++ 에서 자주 사용거론 되는 거니까~ 넘 자세히 남기기 보다는 간단하게 남깁니다. Class Point{ int x; int y; public: Point(int _x=0, int _y=0) : x(_x), y(_y) { } // 음~~ 이런 방법의 생성자 좋네~ ... const Point& operator--() // 전위-- { --x; --y; return *this; } const Point operator--(int) // 후위 -- { Point pt(x,y); --x; // 내부 구현이므로 멈버변수는 전위 -- 연산을 사용해도 무방. --y; // 내부 구현이므로 멈버변수는 전위 -- 연산을 사용해도 무방. } } // 알아두면 유용하게 사용할 날이 오겠징~
2015.10.19 -
CStatic ...이리저리사용하기 (1)
CStatic 컨트롤에 "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" 이런 경로를 표현하고 싶어서 해보니~ 문자열이 길어서 짤린다. 그래서 생략되게 나오는 법을 알아보니... 있단다~ 어디서 본듯 하기도 하고~ 리소스뷰에서 static 컨트롤을 선택하니 ... 눈에 띄는 녀석이 두녀석 있다. End Ellipsis Path Ellipsis Ellipsis : 생략 이라는 뜻이란다... 영어는 일단 잘하고 볼 일이다. ㅠㅠ.. 실제로 이 두 녀석중 하나를 true로 설정하면 컨트롤보다 긴 문자열이 나타날때, 다음과 같이 생략되게 표현된다. End Ellipsis : "C:\Program Files (x86)\Google\Chrome\..." ..
2015.10.02 -
#pragma 사용법 정리
(펌 : http://iprinceps.egloos.com/1334766) 사용할 일은 잦은데~ 너무 무관심한 척 한 것 같다~ 매번 매번 사용해도 헷갈리는 pragma의 용법에 대해 모아 총정리 하였다. #pragma는 define 이나 include와 같이 #으로 시작하는 전처리구문(precompiler)의 하나이다. 컴파일러에 종속적인 구문이라 컴파일러가 변경되었을 경우 제대로된 동작을 보장하지 못하므로 프로젝트 진행중에 서로 다른 컴파일러를 사용한다면 사용하지 않음이 바람직 하겠다. - 대신 대체하는 문법을 사용해야 되겠다. #pragma once 이것은 "컴파일러에게 한번만 컴파일해!" 라고 명령한다. 헤더의 중복을 막아준다. 무슨말인가 하면 a.h를 구현한 a.cpp, a.h는 독립적이다.(i..
2015.09.30