最近の質問で、のchar*
代わりにパスしなければならない状況があることを学びましたstd::string
。私は本当に好きstring
で、不変の文字列を渡す必要がある状況では、を使用すると問題なく機能します.c_str()
。私の見方では、操作が簡単な文字列クラスを利用することをお勧めします。ただし、入力が必要な関数の場合、次のようになります。
std::string str;
char* cstr = new char[500]; // I figure dynamic allocation is a good idea just
getstr(cstr); // in case I want the user to input the limit or
str = cstr; // something. Not sure if it matters.
delete[] cstr;
printw(str.c_str());
明らかに、これはそうではありません、ええと、簡単です。今、私はC ++にかなり慣れていないので、木の森を実際に見ることはできません。このような状況では、すべての入力をC文字列に変換して、string
の便利なメソッドを利用するために戻す必要がありますが、Cスタイルの文字列操作に慣れることは良い考えですか?この種の絶え間ない前後の変換は、対処するにはあまりにも愚かですか?