這裏是一個非常簡單的方法來定義一個移動構造函數用於幾乎所有類移動分配: class Foo {
public:
Foo(Foo&& foo); // you still have to write this one
Foo& operator=(Foo&& foo) {
if (this != &foo) { // avoid destructing
我正在寫我自己的矢量類(x,y值的容器),我不確定我應該自己實現哪些構造函數/賦值運算符,以及我可以指望編譯器提供什麼。很顯然,我需要編寫任何沒有默認行爲或者在任何情況下都不會自動生成的方法。但是肯定的是,如果編譯器可以生成完全相同的東西,那麼實現它也沒有意義。 我正在使用Visual Studio 2010(這可能在C++ 11方面很重要)。如果那很重要,我的課也是模板課。 目前,我有: tem
正在調用d-tor內部移動賦值操作符的好習慣嗎? 這裏一些示例代碼: VectorList &operator = (VectorList &&other){
~VectorList(); // if this is not a good practice,
// I will need to paste whole d-tor here.
_buffer