32

それが問題です。default_value よりも Implicit_value を使用したり、その逆を使用したりするのはなぜですか?

ありがとう!

4

3 に答える 3

41

default_value()variables_mapユーザーが別の値を指定しなかった場合に入力される値です。

./a.out             # implies width=75 if that's the default_value for width
./a.out --width=80  # default_value not used

implicit_value()ユーザーがオプションを指定したが、隣接する値がない場合に使用される値です。

./a.out --width     # implies width=75 if that's the implicit_value for width
./a.out --width=80  # implicit value not used

次に使用するimplicit_value場合、コマンドラインオプションの短いオプションで、ユーザーはオプションの直後に値を指定する必要があります。

./a.out -w80   # implicit_value not used
./a.out -w 80  # wrong: 80 parsed as extra arg if implicit_value is defined
于 2010-05-13T20:25:45.423 に答える
0

私の記憶が正しければ、次のようなオプションを使用すると違いが生じます-X=Y(たとえば、「Y」は数字の場合があります)。-Xデフォルト値は、ユーザーがコマンドラインでを入力していない場合に取得する値です。-X暗黙的な値は、ユーザーが値を指定せずにコマンドラインに入力した場合に得られる値です。

たとえば、0から3(IIRC)までの最適化レベルをサポートするgccについて考えてみます。まったく指定しない場合-O、デフォルトでに設定されます-O0(つまり、最適化がオフになります)。(数値なしで)指定する-Oと、と同等の暗黙の値が得られます-O1。明示的に指定することも-O1、またはを指定することもでき-O2ます-O3

于 2010-05-13T20:23:07.597 に答える