R
Raider
is such code correct?
#include <string>
typedef std::string T;
T *s;
const T& foo(const T& default)
{
if (s) return *s; else return default;
}
int main()
{
const T& value = foo("bar");
// use value
}
I think the "bar" must be destroyed immediatly when foo() returns.
#include <string>
typedef std::string T;
T *s;
const T& foo(const T& default)
{
if (s) return *s; else return default;
}
int main()
{
const T& value = foo("bar");
// use value
}
I think the "bar" must be destroyed immediatly when foo() returns.