object-lifetime 相关问题

面向对象编程中对象的对象生存期(或生命周期)是创建对象(也称为实例化或构造)之间的时间,直到对象不再使用然后被破坏或释放。

未初始化对象的成员地址是否已明确定义?

考虑以下示例。构造 bar 时,它向其基类型 (foo) 构造函数提供 my_member.y 的地址,其中 my_member 是尚未初始化的数据成员。 结构...

回答 3 投票 0

拥有一些数据和对数据的引用的结构[重复]

对象的构造会分配该对象生命周期所需的数据,但也会创建另一个需要保留对数据引用的对象: pub fn new() -> Obj { 让数据 = 比较...

回答 1 投票 0

字符串常量在 C++ 中存在多久?

我一直想知道,字符串常量在 C++ 中存在多久。例如,如果我在函数内创建一些 const char *str = "something" ,返回 str 的值是否安全? 我写...

回答 2 投票 0

避免未定义行为:临时对象

我已经写了一个类,用来作为一个方便的视图,例如在基于范围的fors中使用。总的来说,它只是一对带有边界检查的迭代器:模板------------------。 class Range { private.I ..: I ...

回答 1 投票 0

[执行存储的回调时发生System.AccessViolationException错误

我已经通过C ++ / CLI包装器将C ++成员函数作为回调传递给C#项目(这很好)。从另一个.exe进程接收数据时,C#项目将调用此委托:...

回答 1 投票 0

如何将某些堆内存的所有权移出函数?

我正在尝试编写一个将命令行实用程序(image-magick)的标准输出加载到结构成员中的函数。我认为由于图像可以是MB,所以我最好避免...

回答 1 投票 2

如何在Chapel中产生一个零共享对象?

[目前,我正在研究Chapel数据对象,并且遇到了一些问题。我有一个名为Row的类,可以为nil。我有以下三种方法:覆盖iter这些()ref {用于此行....

回答 1 投票 0

智能指针概念的所有权和有效期

使用C ++智能指针(唯一,共享,弱)时,有两个重要的概念(所有权,生存期)。我试图了解这些概念以及它们如何影响智能指针(或原始...

回答 1 投票 0

在对象的生命周期中,`this`指针的值是否恒定?

此指针的值在特定对象的生存期内是否保证是恒定的?我无法想象它会改变的情况,但不知道我是否不缺少任何东西。

回答 2 投票 15

'this'指针的值可以在对象的生存期内更改吗?

此指针的值在特定对象的生存期内是否保证是恒定的?我无法想象情况会发生变化,但是不知道我是否不缺少任何东西。

回答 1 投票 2

如果对象的类型是用Unity中的TransientLifetimeManager映射的,垃圾收集器会回收对象吗?

如果对象的类型是用Unity中的TransientLifetimeManager映射的,垃圾收集器会回收对象吗?我假设垃圾收集器将回收该对象。所以,这让我问...

回答 1 投票 0

[Autofac:需要:AutofacModule中处理的实例的生命周期终止事件

我使用C#和Autofac 4.9.4。我有一个连接到IComponentRegistration.Activated事件的Autofac模块。它查找某些类的已激活实例,并将它们注册到某些...

回答 1 投票 1

malloc是否在C ++ 17中返回“无效的指针值”? [重复]

根据C ++ 17 [basic.compound] / 3:指针类型的每个值都是以下之一:指向对象或函数的指针(据说该指针指向该对象或函数),或。 ..

回答 2 投票 16

通过右值数据成员来扩展临时对象的生存期,可以使用聚合,但不能使用构造函数,为什么?

我发现以下方案可以延长临时生命周期,我不知道是否应该,但是可以。 struct S {std :: vector && vec; }; int main(){S s1 {std :: ...

回答 1 投票 12

在C ++的任何版本中,是否明确定义了并集的使用?

考虑一个具有更改的“活动成员”的简单联合:联合U {int i;字符* p; }; U u = {1}; u.p = 0; C ++标准的任何修订版可以正确定义此处发生的情况吗? ...

回答 1 投票 0

对象的存在是否不同于对象的生存期?

听起来可能是哲学上的,但事实并非如此:在C ++中,对象是否存在于生存期之外?什么是物体的存在?什么是对象的创建?当它的...

回答 1 投票 0

了解C ++指针的生命周期/僵尸指针

在观看了CppCons之后,您的代码能否幸免于僵尸指针的攻击?我对指针的寿命有些困惑,需要澄清一下。首先是一些基本的认识。请更正...

回答 1 投票 1

何时使用PerThreadLifetimeManager?

我正在遵循下面链接的示例,以设置与我的服务层一起使用的统一性。我的项目的设置与本文中的非常相似,并且我理解所有内容,但为什么...

回答 1 投票 11

是否将类型为“int”的临时转换为引用安全?

在以下程序中:int Func(){int a = {10};返回; } int main(){int&r =(int&)(const int&)Func(); r = 5; } r是对临时的引用...

回答 1 投票 2

c ++ 17:一个永远不会被破坏的临时对象

struct Base {Base(){std :: cout <<“Inside:”<< __ PRETTY_FUNCTION__ << std :: endl; } ~Base(){std :: cout <<“Inside:”<< ...

回答 2 投票 3

© www.soinside.com 2019 - 2024. All rights reserved.