我的intution說這不是,但事實是一切都在同一行發生有點混亂。我想知道當cout
使用它時指針是否仍然有效。構造一個臨時對象並調用一個返回指針的方法 - 是否安全?
#include <iostream>
#include <string>
struct A {
A() : m_s("test"){ }
const char* c_str() { return m_s.c_str(); }
std::string m_s;
};
int main() {
std::cout << "abc " << A().c_str() << " def" << std::endl;
}