文字列 s2("こんにちは");
暗黙的な文字列コンストラクターを作成する必要がありますか?
String::String(const char* str);
また
このコンストラクターはそれを処理しますか:
String::String(const String &str);
文字列 s2("こんにちは");
暗黙的な文字列コンストラクターを作成する必要がありますか?
String::String(const char* str);
また
このコンストラクターはそれを処理しますか:
String::String(const String &str);
この文字列オブジェクトを作成すると、文字列 (const char* s) コンストラクターが呼び出されるため、コンストラクターを記述する必要はありません。
std::string クラス内で定義されているコンストラクターは次のとおりです。
string();
string (const string& str);
string (const string& str, size_t pos, size_t len = npos);
string (const char* s);
string (const char* s, size_t n);
string (size_t n, char c);
template <class InputIterator>
string (InputIterator first, InputIterator last);
さらに、一部の標準ライブラリを編集しようとしないでください。不要な問題が発生する可能性があります。カスタマイズした関数が必要な場合は、独自のラッパーを作成してください。
std::string には、これを処理するためのコンストラクターが既にあります。std::string s2("hill") は問題なく動作します。