diff --git a/lectures/code/a.out b/lectures/code/a.out new file mode 100755 index 0000000..a3bf5ea Binary files /dev/null and b/lectures/code/a.out differ diff --git a/lectures/code/test.cpp b/lectures/code/test.cpp new file mode 100644 index 0000000..d7f1b48 --- /dev/null +++ b/lectures/code/test.cpp @@ -0,0 +1,25 @@ +class Image { + public: + static inline int instance_counter{}; + + Image() { instance_counter++; } + Image(const Image&) { instance_counter++; } + Image(Image&&) = default; + Image& operator=(const Image&) = default; + Image& operator=(Image&&) = default; + ~Image() { instance_counter--; } +}; + +#include + +int main() { + std::cout << "Current count: " << Image::instance_counter << std::endl; + Image image; + std::cout << "Current count: " << Image::instance_counter << std::endl; + { + Image image_copy{image}; + std::cout << "Current count: " << Image::instance_counter << std::endl; + } + std::cout << "Current count: " << Image::instance_counter << std::endl; + return 0; +} diff --git a/lectures/static_in_classes.md b/lectures/static_in_classes.md index 677646b..ffb277b 100644 --- a/lectures/static_in_classes.md +++ b/lectures/static_in_classes.md @@ -128,13 +128,14 @@ class Foo { ``` ```cpp +#include "foo.hpp" + int main() { Foo::PublicStaticFunction(); Foo foo;