我一定在这里错过了一个明显的事实——有一段时间没有编写 C++ 编程了。为什么我不能在将 c 样式字符串分配给 const char* 变量后打印它?但是,如果我尝试直接打印而不分配它可以正常工作:
#include "boost/lexical_cast.hpp"
using namespace std;
using boost::lexical_cast;
int main (int argc, char** argv)
{
int aa=500;
cout << lexical_cast<string>(aa).c_str() << endl; // prints the string "500" fine
const char* bb = lexical_cast<string>(aa).c_str();
cout << bb << endl; // prints nothing
return EXIT_SUCCESS;
}