Recreated most of the demo code from talk
This commit is contained in:
12
c/raii.cpp
12
c/raii.cpp
@@ -8,12 +8,16 @@ public:
|
||||
|
||||
MyClass()
|
||||
{
|
||||
ptr = malloc(sizeof(100000000));
|
||||
std::cout << "Allocating 1MB\n";
|
||||
|
||||
// Allocate 1MB for no reason:
|
||||
ptr = malloc(sizeof(1000 * 1000));
|
||||
}
|
||||
|
||||
~MyClass()
|
||||
{
|
||||
free(ptr);
|
||||
std::cout << "Destroyed 1MB\n";
|
||||
}
|
||||
};
|
||||
|
||||
@@ -21,7 +25,9 @@ MyClass myClass;
|
||||
|
||||
int main()
|
||||
{
|
||||
std::vector<MyClass> vec;
|
||||
vec.push_back({});
|
||||
// Trick question, how many times is it constructed and destroyed?
|
||||
|
||||
std::vector<MyClass> vecOfMyClasses;
|
||||
vec.push_back(myClass);
|
||||
vec.push_back(myClass);
|
||||
}
|
Reference in New Issue
Block a user