initial check in
This commit is contained in:
41
temporary_objects.cpp
Normal file
41
temporary_objects.cpp
Normal file
@@ -0,0 +1,41 @@
|
||||
#include <iostream>
|
||||
|
||||
class a
|
||||
{
|
||||
public:
|
||||
a()
|
||||
{
|
||||
std::cout << "construction" << std::endl;
|
||||
}
|
||||
~a()
|
||||
{
|
||||
std::cout << "destruction" << std::endl;
|
||||
}
|
||||
};
|
||||
|
||||
class guard
|
||||
{
|
||||
public:
|
||||
a _a;
|
||||
a* operator & ()
|
||||
{
|
||||
return &_a;
|
||||
}
|
||||
};
|
||||
|
||||
guard f()
|
||||
{
|
||||
return guard();
|
||||
}
|
||||
|
||||
void g ( a* p )
|
||||
{
|
||||
std::cout << "working with a" << std::endl;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
g( &f() );
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user