[ create a new paste ] login | about

Link: http://codepad.org/YCI4Eawk    [ raw code | output | fork ]

johannes - C++, pasted on Sep 15:
#include <boost/shared_ptr.hpp>

class Stuff
{
public:
    Stuff() : m_str(boost::shared_ptr<std::string>(new std::string))
    {
    }

    ~Stuff() {}

    inline void setStr(const char *str) { m_str->assign(str); }
    inline boost::shared_ptr<const std::string> str_ptr() const { return m_str; }
    inline std::string str() const { return m_str->data(); }

private:    
    boost::shared_ptr<std::string> m_str;
};

int main(int argc, char **argv)
{
    Stuff *obj = new Stuff;
    obj->setStr("banan");
    boost::shared_ptr<const std::string> str = obj->str_ptr();
    delete obj;
    std::cout << str->data();         // banan
    return 0;
}


Output:
1
banan


Create a new paste based on this one


Comments: