申し訳ありませんが、私は C++ の初心者です。私はいくつかのコードを調べていて、次のコード行に出くわしました:
string cmd(*iter);
明らかに変数「cmd」は文字列として定義されていますが、私が理解していない部分は括弧内のビットです: (*iter)
「*iter」がポインターであることは知っていますが、変数宣言の後に括弧が続くとはどういう意味ですか?
ばかげた質問で申し訳ありません。
申し訳ありませんが、私は C++ の初心者です。私はいくつかのコードを調べていて、次のコード行に出くわしました:
string cmd(*iter);
明らかに変数「cmd」は文字列として定義されていますが、私が理解していない部分は括弧内のビットです: (*iter)
「*iter」がポインターであることは知っていますが、変数宣言の後に括弧が続くとはどういう意味ですか?
ばかげた質問で申し訳ありません。
を介して文字列 cmd を初期化します*iter
。
注: iter は必ずしもポインターである必要はなく、イテレーターであってもかまいません。
イテレータの*
演算子を確認する必要があります。
この種のパラメーターを受け入れる文字列クラスのコンストラクターを呼び出しています。同じクラスが異なるコンストラクターを持つことができます。
string
が指す値でのコンストラクターを呼び出しますiter
。このコード行は、呼び出された新しいstring
インスタンスを作成しcmd
、反復子の値に初期化するだけです。