トップページ > プログラム > 2016年09月02日 > 96M6CE+e

書き込み順位&時間帯一覧

17 位/229 ID中時間01234567891011121314151617181920212223Total
書き込み数0000001100000000001001004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
345
C++相談室 part126 [無断転載禁止]©2ch.net
C言語なら俺たちに聞け パート0001

書き込みレス一覧

C++相談室 part126 [無断転載禁止]©2ch.net
345 :デフォルトの名無しさん[sage]:2016/09/02(金) 06:31:01.77 ID:96M6CE+e
>>342
ああ、引数の違いを利用すればsetもgetも省略できるのか。

int value(int val); ... メンバvalueの値の設定
int value(); ... メンバvalueの値の参照

同じ関数名で機能の異なるものを作るのは危険、
ということから思いつきもしなかったけど、
この使い方なら便利で有用かも知れないな。
C++相談室 part126 [無断転載禁止]©2ch.net
347 :345[sage]:2016/09/02(金) 07:33:47.21 ID:96M6CE+e
>>346
値の範囲制限とかする場合に、
戻り値に「実際に格納された値」を入れて返す。

あと瑣末なことだけど、
cout << a.value(val) << endl;
みたいに格納しつつ値も使う、ができてちょい便利。
C++相談室 part126 [無断転載禁止]©2ch.net
365 :デフォルトの名無しさん[sage]:2016/09/02(金) 18:00:48.43 ID:96M6CE+e
C#の「プロパティ」って機能がどんなのか知らないけど、
現在C++にないから不要な機能だ、と突っ張るのは危険かも知れないよ。

いつか「次の規格から『C#のプロパティ』と同様の機能が追加」と
発表されるかもしれない。これまでもそうやって肥大化してるじゃない。
C言語なら俺たちに聞け パート0001
517 :デフォルトの名無しさん[sage]:2016/09/02(金) 21:52:40.48 ID:96M6CE+e
>>512
scanf() の [...] 変換指定子なんて初めて見たよ。
調べたところ、以下のような動作をするみたいね。

scanf("%[^abc]", a);
配列aには a, b, c 以外の文字が入る
(入力文字列の先頭から a か b か c の直前までをaに格納)

上の入力で配列aに格納されなかった分はバッファに残る

scanf("%s", b);
すでにバッファに入っている内容を配列bに格納して関数終了
(配列aへのscanf()を終了させたa, b, cから始まる文字列が待機してるはず)


というわけで入力操作は、
a, b, c を含まない間は scanf("%[^abc]", a); が完了しない
scanf("%[^abc]", a); が完了したら、その途端に scanf("%s", b); も完了


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。