Obj.C

C++の学習:string名.empty()とdo while

string名.empty()には結構ハマりました。

string名.empty()はtrueなら空、faulseなら文字列が入っているということになっています。しかし、サンプルコードが動かなかったことから長時間ハマりました。

原因は、作成したtest.cppに何らかのバグ。test2.cppで新たに書き直したらちゃんと動きました。つまらないことで時間が取られました。

1. string名.empty()

empty2. do while, append, コンストラクタ

  • 条件がdoのあとに聞かれることになるので、do文の中を少なくとも1回は通り、ループする可能性に留意するべき。
  • if文を使わないで最初に継続条件を調べる方法はあるのでしょうか?
    ➡ 単純にwhile文ではじめればいいのかなあ?。➡ その通り。サンプルコードでは、if文がない代わりに、getline(cin,inputArea);をwhile文の前に書くことで上から下に流せ、同じ結果が得られました。ループは鬼門で、forやdo untilには、安易に飛び込めません。
  • string名.append(文字数,文字):問題なし
  • コンストラクタ: string名に初期値の文字を設定:問題なし

while