VC ++では、にconst char*
返された値を型キャストしてキャストされた値を出力std::string::c_str()
するchar*
と、画面に何も出力されません。これがコードスニペットです
#include "stdafx.h"
#include <string>
using namespace std;
string test() { return(string("HELLO"));}
int _tmain(int argc, _TCHAR* argv[])
{
char* val;
val = (char*) test().c_str();
printf("\n %s\n", val);
return 0;
}
ASCII値val[0]
が0であることを確認するだけです。しかし、G ++では、テキストHELLO
が表示されます。
const char*からchar*へのキャストは、結果が定義されていない非標準のキャストですか?