ProgrammingLang/c++
[C++개발자되기]22. golang의 defer 만들기
jinkwon.kim
2021. 7. 10. 18:02
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
반응형