return-by-reference

    0熱度

    2回答

    我見過很多教程,並試圖在stackoverflow上找到答案,但沒有成功。 我不確定的是;有沒有什麼時候通過價值或通過引用返回,當超載運營商? 例如, Class &operator+(){ Class obj; //... return obj; } 或相同的事情,但按價值 Class operator+(){ Class obj; //.

    1熱度

    2回答

    在下面的代碼中,演示了兩個函數。 f1()返回函數作用域中初始化局部變量的引用,f2()返回函數作用域中初始化局部變量的值。 由於本地初始化變量,f2()預計可以正常工作。值從堆棧傳遞到主。 由於本地變量的引用在函數作用域外無用,所以f1()不會工作。但是,兩種功能的輸出似乎都可以。 這裏是測試代碼; #include <iostream> using namespace std; // f

    0熱度

    1回答

    如果我有一個創建對象的函數,請執行一些操作並返回它。如果對象是通過引用傳遞的,這是否意味着創建對象(或函數的作用域鏈)的函數將不可用於垃圾回收? 示例代碼: function convertArrayToObj(array){ var newObj = {}; array.forEach(function(item, index){ newObj[index] =

    2熱度

    3回答

    在過去,如果我想的對象A的字符串表示,我會寫一些與簽名void to_string(const A& a, string& out),以避免額外的副本。這仍然是C++ 11中的最佳實踐,包含移動語義和所有? 我已經在暗示依託RVO,而是寫string to_string(const A& a)其他情況下閱讀了若干意見。但RVO不保證發生!那麼,作爲to_string的程序員,我怎樣才能保證字符串不

    0熱度

    1回答

    我有一個程序,它存儲在列表中的類和結構集。 它執行以下操作: 經過參考輸入(一個int),迭代器,列表和指針到函數check() 迭代列表,直到它找到之間的匹配迭代器的數據和輸入 將指針設置爲迭代器的位置 根據是否找到匹配返回true或false。 我的問題是,當我調用該函數display()從功能檢查中,無論是從it->display(),或Ptr->display(),它工作正常。但是,當它通

    0熱度

    1回答

    通過參考獲得數值的兩種方法之間是否有實際區別? 方式1種 <?php class foo { public $value = 42; public function &getValue() { return $this->value; } } $obj = new foo; $myValue = &$obj->getValue(); // $

    1熱度

    2回答

    我有一些關於returing類成員變量引用的問題。 我有以下代碼: #include <stdint.h> #include <string> #include <iostream> #include <set> void PrintSet (const std::string & str, const std::set<uint32_t> & to_print) { st

    0熱度

    1回答

    我反對檢查引發此錯誤: Using deprecated language feature assign by reference(&=) Since PHP 5.3 use normal assignment instead. 所以,我試圖找出如何重新代碼在這個類中的方法不要使用by reference或至少使用它(如果它是允許的 - 我不清楚)。 以下是使用by reference的班級部分。

    24熱度

    5回答

    你能向我解釋返回值,值的引用和常量引用值之間的區別嗎? 值: Vector2D operator += (const Vector2D& vector) { this->x += vector.x; this->y += vector.y; return *this; } 不const引用: Vector2D& operator += (const Vecto

    0熱度

    3回答

    回報,我很困惑通過下面的例子: class complex { double re, im; public: complex(double r, double i) : re{r}, im{I}() complex& operator+= (const complex&z) { re += z.re; im += z.im; return *this; } };