问题标签 [lifetime]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1490 浏览

c++ - 临时对象有范围吗?

名称具有范围(编译时属性),而对象具有生命周期(运行时属性)。正确的?

我经常看到人们谈论“超出范围”的临时对象。但是由于临时对象没有名称,我认为在这种情况下谈论“范围”是没有意义的。临时对象的生命周期定义非常明确,与作用域无关。你会同意吗?

0 投票
1 回答
746 浏览

generics - C# Unity2:使用生命周期管理器时解决泛型问题

我使用 ASP MVC 3 (RC) 和 Unity 2 取得了巨大成功。但是,我有一个无法解决的问题。在幕后,我使用通过存储库访问的 POCO (Person, Company, ...)。存储库作为泛型 (EFRepository) 制作,并使用上下文。如果通用存储库类型上没有 LifetimeManager,一切都会按预期工作:

但是,当也将 LifetimeManager 添加到存储库时,解析失败:

有任何想法吗?HttpRequestLifetimeManager 的实现非常标准:

任何帮助将不胜感激!

谢谢!/胜利者

0 投票
3 回答
745 浏览

asp.net - ASP.NET 会话对象生命周期悲观假设!

我检查一个session对象,如果它确实存在,然后调用另一个间接使用该对象的方法。尽管第二种方法将在几纳秒内访问该对象,但我正在考虑对象在两次调用之间完全过期的情况。对象是否会Session在每次从代码读取访问时延长其生命周期以防止此类问题?如果不是如何解决问题?

如果您要说为什么我不将检索到的对象从第一个方法传递给第二个方法,这是因为我将Page带有许多其他参数的 ASP.NET 对象传递给第二个方法,并且如果我尝试传递每个方法它们分开,会有很多参数,而我Page现在只传递一个对象。

0 投票
5 回答
813 浏览

c++ - C++:对临时的常量引用

关于 SO 上的常量引用的生命周期有几个问题,但我仍然不明白。

这段代码有效吗?

直觉上我会说不,因为应该在计算表达式 ( )0之后过期。S s(0);

但是 GCC 和 CLANG 都可以很好地编译它,没有警告,并且 valgrind 没有检测到任何运行时错误。

我在参考中缺少什么?

0 投票
4 回答
285 浏览

c++ - 隐式铸造临时工的生命周期

我见过这个问题。似乎无论演员如何,临时对象都将“存活”直到评估完整表达式。但在以下场景中:

1 运行良好,但 2 不运行。MSVC给了我一个关于2的警告:“引用成员被初始化为一个临时的,在构造函数退出后不会持续存在”

现在我想知道为什么他们都制作了一个临时double对象并将其传递给bar<const double&>并且只有 2 个失败了。

@更新

我使用 struct bar 而不是boost::tuple在原帖中,希望其他人会更熟悉。

让我把我的问题说得更清楚。在 #1 中,doubleint(2) 创建一个时间,然后bar<const double &>从它创建 a 并复制到foo中,而在 #2 中,bar<int>创建一个时间,并从的 ctor 中double的成员创建一个时间。似乎时间在#2中被破坏,而在#1中却没有。为什么?我认为它们都是完整表达的一部分,并且会一直存在到返回。bar<int>bar<const double&>doublefoobar

Tim 说:“编译器足够聪明,可以将这个 2 视为 double 而不是 int。”。所以我写信int i = 2;并传递i给这两个电话,但事情像以前一样继续。我在 VS2008 中使用调试模式完成了它。

0 投票
1 回答
740 浏览

windows-phone-7 - WP7:推送通知订阅生命周期?

当 MPN 服务器上的客户端/电话创建订阅时,它存在多长时间?什么时候会关闭?我的应用程序用户是否必须不时启动我的应用程序并创建一个新频道才能保持连接打开?

0 投票
2 回答
2111 浏览

c++ - SWIG 的 Python 包装器中临时对象的生命周期(?)

2月12日编辑

我最近刚刚为一些 C++ 类使用一些 SWIG 生成的 Python 包装器出现了一个奇怪的崩溃。看来 SWIG 和 Python 结合在一起有点急于清理临时值。事实上,如此渴望,以至于它们在仍在使用时就被清理干净了。一个显着压缩的版本如下所示:

我在 .i 文件上运行 SWIG (1.3.37),然后在 Python 中,有:

似乎在第二种情况下,临时对象在我们到达 read的字段Bar之前就被销毁了。在 gdb 中追逐东西,这显然是正在发生的事情。因此,当我们从 中读取时,C++ 已经销毁(并被其他一些堆分配覆盖)。在我的实际情况下,这会导致段错误。theFoovalue.valueBar().theFoo.theFoo

是否有任何 SWIG 指令或技巧可以添加到我的Example.i文件中以在此处Bar().theFoo.value返回1

0 投票
3 回答
405 浏览

php - 通过 Ajax 调用的 PHP 变量生命周期

一旦垃圾收集器认为有必要,变量通常会被销毁,并且它们占用的内存会被释放。基本上,在当前执行的脚本完成后不久,是吗?

现在,我对 Ajax 检索变量的生命周期感兴趣。

由于变量通常在它们运行的​​脚本完成后被清除,也就是说,在页面重新加载时,Ajax 是否也属于这一类?如果我有一个从 PHP 接收胖 JSON 数组的脚本,并且在我使用完之后只清除带有“arrayVar = null”的 JS 变量,这就足够了吗?或者我应该取消设置创建返回数组的 PHP 变量吗?例如:

最好包括...

...在 die() 调用之前?这会节省内存,不管多少?

干杯

0 投票
3 回答
1015 浏览

android - 在 Android 中模拟活动死亡

我们知道,当系统资源耗尽时,后台的活动会序列化其状态并被操作系统杀死。当我们恢复它时,操作系统通过传递给 onCreate 方法的 savedInstanceState 恢复活动状态。考虑到我们负责处理将要序列化/恢复的内容,我希望终止我的活动以测试我为恢复创建的代码。我怎样才能做到这一点?通过应用程序菜单强制终止应用程序无济于事。

0 投票
2 回答
1223 浏览

android - 单击搜索按钮时将关闭不可取消的对话框

我在我的应用程序中显示了一个不可取消的对话框,但如果用户按下搜索按钮,它就会被取消。我试图覆盖 onSearchRequested 和 onKeyDown,但它没有帮助。有什么建议吗?