rvalue

    3

    2答えて

    私は、後置インクリメントおよびデクリメント演算子がオペランドのの右辺値を返すことを読んだ。この可能性のようなコードであるか、それが本当であると仮定すると?: int arr[5]{}; int *p = arr; for (int i = 0; i != 5; ++i) *p++ = i; 私の思考proceesするオペレータも優先による で、*pが最初に評価されます。 そして、

    0

    1答えて

    ので、我々はC++で次のように書くと仮定します。a=b=5;基本的に私たちはa=5;を持っている場合はa=(b=5); は、私は5リテラルであり、したがって、それはR-値であることを知っていることを意味します。 aはL値です。同じことがb=5; のために行く私たちは、それぞれa=(b=5); a=b=5;を書く場合、私は今、次のことを言うことができ、何が起こるか、今思ったんだけど? aについては、

    2

    1答えて

    私は答えを探していましたが、私はそれを見つけることができません。だから私は具体的にここで質問をすることにしました。 struct NonCopyable { NonCopyable() { }; NonCopyable(const NonCopyable& other) = delete; NonCopyable(NonCopyable&& other) { };

    1

    1答えて

    を右辺値にする結合左辺値参照: vector<vector<bool>> p(n); for(vector<bool>& i : p) { i = vector<bool>(m); } for(vector<bool>& i : p) { for(bool& j : i) { int a = round(rand()/double(RAND_MAX));

    14

    2答えて

    構造化バインディングを介して分解に必須のコピーエリートは適用されますか?次のどれに当てはまるのでしょうか? // one auto [one, two] = std::array<SomeClass>{SomeClass{1}, SomeClass{2}}; // two auto [one, two] = std::make_tuple(SomeClass{1}, SomeClass{2

    3

    1答えて

    std::unique_ptrを持つ中間オブジェクトをmeメンバにアクセスするための「OK」の方法は、meですか?ここ は、例えば #include <iostream> #include <memory> /* myobj from another library */ class myobj { public: std::string me; /* actual membe

    3

    1答えて

    私はHereを記述して、左辺値と右辺値の概念を学んでいます。 しかし、自分の例を次のように考案すると、VS2017を使ってコンパイルしても何のエラーもなく実行されます。私は、ケース1の場合は、 produceA(10).operator=(A()) と同じであることを知りました。しかし、私はまだケース2と3が許される理由を理解していません。事実、ケース2はこの記事で与えられた例と矛盾する。私は

    0

    1答えて

    私は動きと左辺のセマンティクスでかなり新しいです。そして私はそれが間違っている印象を持っています。ここで 私は一度FunctContainerを書くことができるようにしたいコードが実装されていますfc1に保存されている機能の寿命がfの1、寿命であるように std::function<double(double)> f = [](double x){return (x * x - 1); };

    1

    2答えて

    私はより良い移動セマンティクスを理解するための簡単なテストを行いました。出力結果は予期せぬものでした。 template<class T> void test(T&& v) { v++; } void main() { int v = 1; test(std::move(v)); std::cout << "Output:" << v << st

    1

    1答えて

    私は参照にバインドすることで、値のアドレスを取ることができます(理解しているように、それは左辺値によってのみ参照できます)。 住所を直接取ることができる方法はありますか(つまり&(<rvalue>)は有効な表現で、operator&()を上書きしないでください)。 他の値に「バインディング」することで可能なのでしょうか? (これは、左辺値である参照にのみバインドすることができるため、上記のようなも