zoukankan      html  css  js  c++  java
  • C++11的new concepts (move semantic)

    MoveConstructible 和MoveAssignable

    MoveConstructible Specifies that an instance of the type can be move-constructed (moved). This means that type has move semantics: that is, can transfer its internal state to a new instance of the same type potentially minimizing the overhead.

    The type must meet CopyConstructible requirements and/or implement the following functions:

    Type::Type( Type&& other );
    
    Type::Type( const Type&& other );  
    
    Type::Type( volatile Type&& other );
    
    Type::Type( const volatile Type&& other );  (One of the variants is sufficient)

    &&表示rvalue reference.

    Move constructor: constructs an instance of a type with the contents of other. The internal state of other is unspecified after the move. However, it must still be valid, that is, no invariants of the type are broken.

    The following expressions must have the specified effects:

    Type a = rv;  a is equivalent to rv, where rv is a rvalue reference of Type.   

    Type(rv);  a temporary object of type Type is equivalent to rv, where rv is a rvalue reference of Type. 

  • 相关阅读:
    Java HashMap HashCode
    JS 笔记---持续更新
    彻底弄懂 JavaScript 执行机制
    几条jQuery代码片段助力Web开发效率提升
    原生JS与jQuery操作DOM对比
    jQuery->JavaScript一览表
    Jquery介绍
    canvas雪花
    canvas绘制多边形
    兼容性的事件处理程序
  • 原文地址:https://www.cnblogs.com/whyandinside/p/3284627.html
Copyright © 2011-2022 走看看