예전에 만들었던 인앱 콜백을 통해 예를 들겠습니다.
선언
std::function<void(std::string productID, bool success)> inappRequestCallback;
std::function<return_type(arguments,..)> 형태로 변수를 선언합니다.
위의 예제에서는 인앱의 productID와 성공여부를 넘겨받습니다.
사용
void StoreLayer::BuyTest(string productID, bool success)
{
}
inappRequestCallback = bind(&TitleLayer::BuyTest, this, "", true);
inappRequestCallback();
or
inappRequestCallback = bind(& StoreLayer::BuyTest, storeLayer, placeholders::_1, placeholders::_2);
inappRequestCallback("", true);
bind함수를 통해 delegate(callback)를 등록시킵니다.
인자에 대해 두가지 방법으로 세팅할 수 있는데
하나는 미리 넘겨줄 인자를 등록시켜놓는 것이고, 나머지 하나는 등록시키지 않는 것 입니다.
미리 넘겨줄 인자를 등록시켜놓은 경우,
함수 사용시, 어떤 값을 넘겨주어도 이전에 등록시켰던 인자가 전달됩니다.
하지만 placeholders를 이용하면 미리 인자를 등록시키지 않고 함수 사용시 인자를 전달 할 수 있습니다.
'Notes > R&D Notes' 카테고리의 다른 글
| 라즈베리파이2 모델B 구매 및 설치 후기 (0) | 2016.01.31 |
|---|---|
| cocos2d-x NDK r10c 필드에서 to_string 지원이 안됨(stringstream의 사용) (0) | 2015.06.10 |
| 아이폰 개발 - In app purchase, store kit (0) | 2012.01.13 |
| 아이폰 개발 - resource, document폴더(접근가능한 폴더) (0) | 2012.01.09 |
| GCC C++ Link problems on small embedded target (0) | 2011.11.08 |