728x90
반응형
개요
C++11에서동작 하는 golang의 defer 만들기
원리
share_ptr가 scope 끝나면 사라진다는 것을 활용.
Code
#include <memory>
#include <iostream>
#include <functional>
using namespace std;
using defer = shared_ptr<void>;
int main() {
defer _(nullptr, bind([]{ cout << ", World!"; }));
cout << "Hello";
}
Or, without bind:
#include <memory>
#include <iostream>
using namespace std;
using defer = shared_ptr<void>;
int main() {
defer _(nullptr, [](...){ cout << ", World!"; });
cout << "Hello";
}
728x90
반응형
'ProgrammingLang > c++' 카테고리의 다른 글
[C++개발자되기]24. std::function (0) | 2021.12.05 |
---|---|
[C++개발자되기]23. 문자열 다루기 (0) | 2021.10.07 |
[C++ 개발자되기] 21. c++ 키워드 정리 (0) | 2021.07.05 |
[매크로] macro 사용시 유용한 것 (0) | 2021.07.03 |
[C++ 개발자되기] 19. 과거 시간 구하기 (0) | 2020.04.09 |