return-by-value

    24热度

    5回答

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

    2热度

    1回答

    假设我有一类Foo其中“有一个”单一成员变量是一个指向Bla其他对象: struct Foo { Bla *bla; Foo() { this->bla = new Bla(); } ~Foo() { delete this->bla; } }; 如何处理回传值这样的对象? Foo make_foo() {

    1热度

    2回答

    我有一个具有许多属性的对象,我需要在每次迭代中创建该对象的副本,以便将所有属性复制到具有最后设置值的新出生对象中。 (我不能全部复制所有的属性和它们的值,因为我的对象实际上是一个自定义的用户控件,它有很多属性,我不知道它们全都是!)

    1热度

    3回答

    我有一个抽象类,让它成为例如Animal。动物有一个纯粹的虚拟功能吃,如果他们不想饿死,每只动物必须实施。我保证只动物的孩子可以用这种方式进行实例化: Animal.hpp class Animal { public: enum eAnimal{ CAT=0, DOG=1, BIRD=2 }; // Instantiate

    0热度

    1回答

    假设函数按值返回类A的对象。 A f(); 假设我们有更高版本的任务/副本c'tor: a = f(); //a is of type A - assignment A aa = f(); // copy c'tor 是委派/ initiallization后调用返回的对象的德TOR?

    0热度

    2回答

    我见过很多教程,并试图在stackoverflow上找到答案,但没有成功。 我不确定的是;有没有什么时候通过价值或通过引用返回,当超载运营商? 例如, Class &operator+(){ Class obj; //... return obj; } 或相同的事情,但按价值 Class operator+(){ Class obj; //.

    2热度

    1回答

    考虑我们有一个由值返回一个函数: int func() { int x = 10; // create local variable x with value of 5 return x; // create temporary copy of x which is returned, local variable x is destroyed } int main()

    1热度

    2回答

    在下面的代码中,演示了两个函数。 f1()返回函数作用域中初始化局部变量的引用,f2()返回函数作用域中初始化局部变量的值。 由于本地初始化变量,f2()预计可以正常工作。值从堆栈传递到主。 由于本地变量的引用在函数作用域外无用,所以f1()不会工作。但是,两种功能的输出似乎都可以。 这里是测试代码; #include <iostream> using namespace std; // f

    2热度

    3回答

    在过去,如果我想的对象A的字符串表示,我会写一些与签名void to_string(const A& a, string& out),以避免额外的副本。这仍然是C++ 11中的最佳实践,包含移动语义和所有? 我已经在暗示依托RVO,而是写string to_string(const A& a)其他情况下阅读了若干意见。但RVO不保证发生!那么,作为to_string的程序员,我怎样才能保证字符串不

    3热度

    3回答

    考虑以下情况:有一个类CDriver负责枚举所有连接的输出设备(由COutput类表示)。该代码可能是这个样子: class COutput { // COutput stuff }; class CDriver { public: CDriver(); // enumerate outputs and store in m_outputs // som