feat: implement CPP09 C++20 card

This commit is contained in:
user
2026-07-21 20:11:42 +02:00
commit 54336435e1
36 changed files with 7623 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
#include <iostream>
bool resource_open{};
class Handle { public: Handle() { resource_open = true; std::cout << "acquire\n"; } ~Handle() { resource_open = false; std::cout << "release\n"; } Handle(const Handle&) = delete; Handle& operator=(const Handle&) = delete; };
int main() { { Handle handle; (void)handle; std::cout << "open=" << resource_open << '\n'; } std::cout << "open=" << resource_open << '\n'; }
+4
View File
@@ -0,0 +1,4 @@
#include <iostream>
struct Guard { Guard() { std::cout << "acquire\n"; } ~Guard() { std::cout << "release\n"; } };
void work(bool short_path) { Guard guard; if (short_path) { std::cout << "work=short\n"; return; } std::cout << "work=long\n"; }
int main() { work(true); std::cout << "after\n"; }
+3
View File
@@ -0,0 +1,3 @@
#include <iostream>
struct Resource { const char* name; explicit Resource(const char* value) : name{value} { std::cout << "acquire=" << name << '\n'; } ~Resource() { std::cout << "release=" << name << '\n'; } };
int main() { Resource first{"A"}; { Resource second{"B"}; std::cout << "inside\n"; } }