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; } };