是否有可能做到这一点
std::string str(const char* s)
{
return std::string(s);
}
int main() {
char* strz = (char*)str("asd").c_str();
}
代替:
int main(){
std::string temp = str("asd");
char* strz = (char*)temp.c_str();
}
我知道它应该是const char* strz
,但我只需要在代码块内(并且没有新/删除)。从方法返回字符串后,它会查找引用(如果找不到,则删除字符串),然后调用c_str()
. 我有很多字符(独立于我),我可以使用第二种解决方案,但它需要太多代码。