規格は、オブジェクトが移動された後でオブジェクトに対して何ができるかを正確に定義していますか?移動元オブジェクトでできることはそれを破壊することだけだと思っていましたが、それだけでは不十分です。 たとえばswap、標準ライブラリで定義されている関数テンプレートを使用します。 template <typename T> void swap(T& a, T& b) { T c = std::move(a); // line 1 a = std::move(b); // line 2: assignment to moved-from object! b = std::move(c); // line 3: assignment to moved-from object! } 明らかに、移動元のオブジェクトに割り当てることが可能でなければなりません。そうしないと、2行目と3行目が失敗します。では、移動元オブジェクトで他に何ができるでしょうか?これらの詳細を規格のどこに正確に見つけることができますか? (ちなみに、なぜ1行目ではT c = std::move(a);なくなのT c(std::move(a));ですか?)
Rの1行に複数の変数を割り当てたいのですが、このようなことはできますか? values # initialize some vector of values (a, b) = values[c(2,4)] # assign a and b to values at 2 and 4 indices of 'values' 通常、複数行ではなく、1行に約5〜6個の変数を割り当てたいと思います。代替手段はありますか?
スクリプトはURLを受け取り、それを解析して必須フィールドを探し、その出力をリダイレクトしてファイルfile.txtに保存します。フィールドが見つかるたびに、出力が新しい行に保存されます。 file.txt A Cat A Dog A Mouse etc... file.txt新しいスクリプトで配列を取得して作成したいと思います。このスクリプトでは、すべての行が配列内の独自の文字列変数になります。これまで私が試した: #!/bin/bash filename=file.txt declare -a myArray myArray=(`cat "$filename"`) for (( i = 0 ; i < 9 ; i++)) do echo "Element [$i]: ${myArray[$i]}" done このスクリプトを実行すると、空白が原因で単語が分割され、 必要な出力 Element [0]: A Cat Element [1]: A Dog etc... 私はこれを取得することになります: 実際の出力 Element [0]: A …