函数返回对象的有效区

函数返回对象有效区的问题


class A
{
public:
    A()
    {
        m_name = "test name";
    }
    std::string GetName()
    {
        return m_name;
    }
private:
    std::string m_name;
}

A a;
const char* tmpName = a.GetName().c_str();// 这时tmpName的值在vc2010下就是"",在mac下就是"test name"



先放这,还没弄明白原因。

参考:

http://bbs.chinaunix.net/thread-1915660-1-1.html

http://wenku.baidu.com/link?url=7YfMBQ0ToZagjpRPdgffe4MastAqNHsCe3bOCHA4jD9Hva5d_L5ZawdaOgMeponbnVb8FZOflK-efDweVJF_MGCMsr99DMyJEO7K0EOP5AG

http://bbs.csdn.net/topics/390494857





你可能感兴趣的:(函数返回对象的有效区)