object-lifetime

    -1热度

    1回答

    这是指C++编程语言。假设我们有一个类C和做到这一点: C var1 = C(init_parameters); C& var2(var1); 问题1: 如果我们改变VAR2,例如var2.memberA = 3,是这也影响var1?或者我们是否创建了一个新对象,以便var2不参考var1? 问题2: 假设我们有这样的功能: const C& f(C var1) { const

    0热度

    1回答

    我有一个类A,它提供了构造类B的实例的方法。并且B拥有对A的私有引用,并提供了一个构造函数来设置此引用。 class A { public: B* construct_B(); } class B { private: const A& private_A; public: B (const A& my_A): private_A (

    0热度

    2回答

    我读过对象绑定的名称可能比对象本身具有更长的生命周期。根据我的理解,当对象被销毁时,名称和对象之间的绑定也就消失了。那么绑定生命期如何能比对象生命期更长呢?请解释在用C char *p = malloc(4); strcpy(p, "abc"); free(p); // object gone, but binding of p, to a useless address, lives on.

    2热度

    1回答

    我想为一个接口类写一个adapter类,该接口类应该是堆栈分配的接口实现(所以不需要新的/删除处理外部,适配器本身可以使用新的/删除)以及b)将由该接口的各个实现调用的lambda函数。 #include <iostream> #include <functional> struct interface { virtual int hello() = 0; }; struct

    0热度

    1回答

    我有一个具有2个活动A和B的应用程序,A是主要活动,B由A调用,但也可以从B本身调用。 所以我栈看起来像 A,B0,B1,B2,B3 在某些情况下,我希望能够去除B的只有最后一个实例,所以[android:noHistory="true"]韩元没有工作。 A,B0,B1,B2,B3 => A,B0,B1,B2,B4 我怎样才能做到这一点?

    0热度

    1回答

    我想要做的事,如: class MyClass { Func<OtherClass> _factory; public MyClass([WithChildScope("OtherClassScope")] Func<OtherClass> other) { _factory = other; } public OtherClass

    0热度

    2回答

    调用我有一个类X,我想一个成员函数bar传递给另一个类Y,将其存储在一个载体,在其他时间调用它的存在。 据我所知,当Y调用函数时,我需要确保X仍然存在。我怎么做? 在我下面的例子中,我最初想,如果我通过一个shared_ptr来bar这将做我想做的 - 只要Y存在即的,那么将X,为Y持有一个shared_ptr到一个其成员函数。 我很确定现在这个逻辑是不正确的。有人可以请赐我吗? class Y

    8热度

    2回答

    我想知道标准对下面的代码片段所说的内容。在致电printPointer之前,是否可以执行临时对象的析构函数string? p.s. VS2010编译器不会抱怨这段代码并且工作正常。 void printPointer(const string* pointer) { cout << *pointer << endl; } const string* func(const stri

    1热度

    2回答

    内联创建并传递给方法的对象的生命期是什么? 例如: myMethod(new String("Hello World")); 的字符串“Hello World”只是myMethod的执行后创建和销毁或直到垃圾收集器删除它,它仍保留在内存中?

    3热度

    2回答

    我们使用构图,当一个对象有一个单独的父对象时,应该关心对象的生命周期。在相同情况下我们使用unique_ptr,但对象可以是nullptr。 当几个外部实体可能需要我们的对象时,我们使用shared_ptr,所以它的生命周期被延长直到最后这些外部实体失去兴趣。 在这里,我想问一下另一种生活情况。 如果物体需要生存几个持续时间中最短的会怎么样? 这里是一个例子。让我们有一个一次性计时器,它存储一个函