C++ 概念: CopyAssignable

来自cppreference.com
< cpp‎ | concept
 
 
C++ 的概念

|- class="t-nv-h1" | colspan="5" | 基础 |- | |- |

DefaultConstructible
CopyAssignable
CopyConstructible

|

|-

|- class="t-nv-h1" | colspan="5" | 库 |- | |- |

|

NullablePointer(C++11)
Hash(C++11)
Allocator

|-

|- class="t-nv-h1" | colspan="5" | 容器 |- | |- |

|

|-

容器元素

| |- |

CopyInsertable(C++11)
MoveInsertable(C++11)

|

|-

|- class="t-nv-h1" | colspan="5" | 迭代器 |- | |- |

|

|-

|- class="t-nv-h1" | colspan="5" | 随机数 |- | |- |

SeedSequence(C++11)
RandomNumberEngine(C++11)

|

|-

|- class="t-nv-h1" | colspan="5" | 并发 |- | |- |

BasicLockable(C++11)
Lockable(C++11)
TimedLockable(C++11)

|

Mutex(C++11)
TimedMutex(C++11)

|-

|- class="t-nv-h1" | colspan="5" | 其它 |- | |- |

|

UnaryTypeTrait(C++11)
BinaryTypeTrait(C++11)
TransformationTrait(C++11)
TrivialClock(C++11)

|-

 

说明该类型的实例可以被复制赋值(复制)。

这个概念同时隐含 MoveAssignable

[编辑] 要求

该类型必须实现下列函数:

Type::operator=

Type& Type::operator=( Type& other );

Type& Type::operator=( const Type& other );
Type& Type::operator=( volatile Type& other );

Type& Type::operator=( const volatile Type& other );
(至少实现其中之一)

复制赋值操作符:使赋值为 other 的内容。other 的内部状态必须保持不变。

下列表达式必须达到所述效果:

表达式 效果
a = v; av 等价,这里 aType 类型的实例、vType 类型的实例。v 必须保持不变。

[编辑] 另请参阅

检查对象是否重载了拷贝赋值运算符
(类模板) [edit]