#include <iostream>
using namespace std;
class foo
{
public :
foo( ) { }
foo( const foo & f)
{
std:: cout << "огромный объкт, очень долго копируется" << std:: endl
<< "loading 0....." << std:: endl
<< "loading 10....." << std:: endl
<< "loading 20....." << std:: endl
<< "loading 40....." << std:: endl
<< "loading 80....." << std:: endl
<< "loading 100....." << std:: endl
;
}
} ;
void bar( foo f)
{
std:: cout << "закончили" << std:: endl ;
}
void baz( foo & f)
{
std:: cout << "закончили" << std:: endl ;
}
int main( ) {
foo f;
std:: cout << "передаём в функцию объект по значению" << std:: endl ;
bar( f) ;
std:: cout << "передаём объект по ссылке" << std:: endl ;
baz( f) ;
// your code goes here
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgZm9vCnsKCXB1YmxpYzoKCWZvbygpIHt9Cglmb28oY29uc3QgZm9vICZmKQoJewoJCXN0ZDo6Y291dDw8ICLQvtCz0YDQvtC80L3Ri9C5INC+0LHRitC60YIsINC+0YfQtdC90Ywg0LTQvtC70LPQviDQutC+0L/QuNGA0YPQtdGC0YHRjyIgPDwgc3RkOjplbmRsCgkJPDwgImxvYWRpbmcgMC4uLi4uIiA8PCBzdGQ6OmVuZGwKCQk8PCAibG9hZGluZyAxMC4uLi4uIiA8PCBzdGQ6OmVuZGwKCQk8PCAibG9hZGluZyAyMC4uLi4uIiA8PCBzdGQ6OmVuZGwKCQk8PCAibG9hZGluZyA0MC4uLi4uIiA8PCBzdGQ6OmVuZGwKCQk8PCAibG9hZGluZyA4MC4uLi4uIiA8PCBzdGQ6OmVuZGwKCQk8PCAibG9hZGluZyAxMDAuLi4uLiIgPDwgc3RkOjplbmRsCgkJOwoJfQp9OwoKdm9pZCBiYXIoZm9vIGYpCnsKCXN0ZDo6Y291dDw8ICLQt9Cw0LrQvtC90YfQuNC70LgiIDw8IHN0ZDo6ZW5kbDsKfQoKdm9pZCBiYXooZm9vICZmKQp7CglzdGQ6OmNvdXQ8PCAi0LfQsNC60L7QvdGH0LjQu9C4IiA8PCBzdGQ6OmVuZGw7Cn0KCmludCBtYWluKCkgewoJCglmb28gZjsKCQoJc3RkOjpjb3V0PDwgItC/0LXRgNC10LTQsNGR0Lwg0LIg0YTRg9C90LrRhtC40Y4g0L7QsdGK0LXQutGCINC/0L4g0LfQvdCw0YfQtdC90LjRjiIgPDwgc3RkOjplbmRsOwoJYmFyKGYpOwoJc3RkOjpjb3V0PDwgItC/0LXRgNC10LTQsNGR0Lwg0L7QsdGK0LXQutGCINC/0L4g0YHRgdGL0LvQutC1IiA8PCBzdGQ6OmVuZGw7CgliYXooZik7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQ==