C++ Standard Templates (STL) – Type Support (type attributes, is_pointer, is_lvalue_reference, is_rvalue_reference)

Type attributes A type attribute defines a compile-time template-based structure for querying or modifying the properties of a type. Attempting to specialize a template defined in the header results in undefined behavior, except that std::common_type can be specialized as described. Templates defined in the header file may be instantiated with incomplete types unless otherwise specified, […]

Reference folding, universal reference, rvalue reference, move, perfect forwarding

Hello everyone, my name is Xu Jintong, and my personal blog address is www.xujintong.com. I usually record the knowledge gained in the process of learning computers, as well as my daily tossing experience. Everyone is welcome to visit. I will write a note here to record the problems I encountered when writing STL source code. […]

Reference folding, universal reference, rvalue reference, move, perfect forwarding

Hello everyone, my name is Xu Jintong, and my personal blog address is www.xujintong.com. I usually record the knowledge gained in the process of learning computers, as well as the daily tossing experience. Everyone is welcome to visit. I will write a note here to record the problems I encountered when writing STL source code. […]

03 | What problems do rvalues and moves solve?

Since the last lecture on smart pointers, we have been more or less exposed to move semantics. In this lecture, we will fully discuss move semantics and related concepts. Move semantics is an important concept introduced in C++11; understanding this concept is the basis for understanding many optimizations in modern C++. It’s worth about 10 […]

C++ – rvalue references and move copy

Table of Contents rvalue reference Distinguish between lvalue and valuable Difference between lvalue reference and valued reference the value of an lvalue reference Left/right value reference, both constitute function overloading Value of rvalue reference – move copy – move construction A brief discussion on the move() function rvalue reference usage scenarios rvalue reference Let’s first […]

C++11 – Magical rvalue references and move constructs

Article directory Preface lvalue references and rvalue references Usage scenarios and significance of rvalue references rvalue reference refers to lvalue Universal reference rvalue-referenced properties Perfect forwarding new default constructor Force and disable generation of default functions Summarize Foreword This blog will mainly talk about the new features added in C++11 – rvalue references and move […]

[C++] C++11 – rvalue reference and move semantics, lvalue reference and rvalue reference, rvalue reference usage scenarios and meaning, perfect forwarding, new class functions

Article directory C++11 5. Rvalue references and move semantics 5.1 lvalue references and rvalue references 5.2 Comparison between lvalue reference and rvalue reference 5.3 Usage scenarios and significance of rvalue references 5.4 rvalue reference reference lvalue and some more in-depth analysis of usage scenarios 5.5 Perfect forwarding 6. New class functions C++11 5. Rvalue reference […]

In-depth article [C++] analyzes the difference and application value of rvalue references and lvalue references in C++11

In-depth article [C++] analyzes the difference and application value of rvalue references and lvalue references in C++11 1. lvalue references and rvalue references 2. Comparison of lvalue references and rvalue references 3. Application scenarios and value Ⅰ. Scenario 1: Function passes value and returns copy ①.Move assignment ②.Mobile copy Ⅱ. Scenario 2: Container insertion interface […]