私はC++の中間のために勉強していますが、レビューの問題の1つはネストループを使って菱形を印刷しようとしています。ユーザは、最も広い行がどのくらい幅広く、どのような文字がダイヤモンドから作られるかを決定します。似たような多くの質問が既に出されていることを知っていますが、この問題は私が見つけることができた例とは異なり、私はそれらの例を理解していません。それはネストされたループになります。だから私はここに来ると思った。C++でユーザが決めた幅に基づいてダイヤモンドを印刷しようとしています
私は家庭教師と協力して、私たちは次のコードを思い付いた:変数width
は、ユーザによって入力された3より大きい正の整数である
for (x = 1; x <= width; x += 2)
{
string wSpace;
string charSpace;
cout << wSpace.assign(row, '#');
cout << charSpace.assign(x, character) << endl;
row--;
}
。 このコードは、ダイヤモンドの上半分と最も幅の広い行を生成します。
このコードの唯一の問題は、何が起こっているのか分かりません。彼は.assign()
機能を使用しましたが、私はそれが何であるか、またはそれがどのように機能しているのかを理解していません。ここでどのように機能しているのですか? .assign()
が何をしているか分かっていれば、このコードと問題をよりよく理解できるように感じます。
[ここ](http://en.cppreference.com/w/cpp/string/basic_string/assign)から特にわからないことはありますか? – user0042
私はC++の学生の紹介を10週間行っていますので、正直言って、そのページのほとんど。私はあなたがそれにリンクする前にそれを知っていませんでしたが、私はどのような引数がどのような引数を取るかを示す例であると想定している表記を理解していません。たとえば、 "basic_string &&"とはどういう意味ですか? – Kronimiciad