このコードは安全ですか?エラーなしで実行されるため、私は自分のためにトラップを設定しているのではないかと心配しています。返されたstd :: stringにptrを渡す
void targetMethod(const char *arg);
std::string helperMethod(char *text) { return std::string(text); }
targetMethod(helperMethod().c_str());
helperMethodは()のstd ::文字列を返し、呼び出し元のコードは、その基礎となる、char *を取得し、()targetMethodに渡します。私は返された文字列が一時的であることを心配しているので、その基になるchar *を取ることは危険です。
std::string myTemp = helperMethod("hello");
targetMethod(myTemp.c_str());
ありがとう、コーディ。私は私の検索を鋭くする必要があります。 – MJF