What will be printed after execution:
#include <memory>
#include <iostream>

class SomeObj
{
public:
        SomeObj() : val_(std::make_shared<int>(10)) {}
    SomeObj(const int& val) : val_(std::make_shared<int>(val)) {}
    const int& operator*() const { return *val_; }
    int& operator*() { return *val_; }
private:
    std::shared_ptr<int> val_;
};

SomeObj getSomeObj(const int& i) { return SomeObj(i); }

int main() {
    const int& v = *getSomeObj(100);
    std::cout << v;
    return 0;
}

Слідкуй за CodeGalaxy

Мобільний додаток Beta

Get it on Google Play
Зворотній Зв’язок
Cosmo
Зареєструйся Зараз
або Підпишись на майбутні тести