C++

· C++
Format을 왜 해야 할까 winapi나 다른 운영체제의 api를 사용하다 보면 애러가 날 때 애러 메시지가 아니라 에러코드를 리턴한다. 따라서 이 애러가 무슨 애러인지 알기 위해서는 구글링으로 애러코드를 검색해야 한다. 애러코드를 메시지로 구글링으로 메시지를 알아내도 되지만 매번 검색하기는 귀찮다는 문제가 있다. FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, errCode, /* 애러 코드 */ 0, (LPTSTR)&errorMessage, /* 애러 메세지 */ 0, NULL); winapi에서는 애러코드를 메시지로 변환해 주는 FormatMessage라는 함수가 있다. 하지만 이 함수를 호출하기 위해..
· C++
개발을 하다가 std::function이나 c타입의 함수 포인터에 클래스의 멤버 함수(=메소드)를할당해야 할 때가 있다. 하지만 typeid로 멤버 함수의 타입을 보면 타입이 조금 다르다.#include using namespace std;class A {public: A() { cout 멤버 함수 타입을 보면 이상한 게 추가로 붙어 있다. 이를 통해 클래스의 멤버 함수는 일반적인 함수와 형식이 다르다는 것을 알 수 있는데, static 함수는 또 일반적인 함수로 인식한다. 하지만 우리가 메소드를 사용해야 하는 이유는 멤버변수에 접근을 할 수 있는 함수이기 때문이다. 이건 은근 간단하게 해결이 가능하다. 바로 std::bind를 사용하면 된다.std::bind함수는 '함수 -> 객체'로 바꿔주는 함수로..
index1207
'C++' 카테고리의 글 목록 (2 Page)