问题标签 [temporary]

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 投票
1 回答
281 浏览

queue - msmq 的临时队列

在 JMS 世界中,有一个称为临时目的地的概念,它对请求/响应场景非常有帮助。发送者在某个目的地发出请求并创建一个临时目的地(只要创建它的会话仍然存在,该目的地就存在)用于接收响应。msmq有这样的东西吗?

0 投票
1 回答
4324 浏览

mongodb - 如何删除 mongoDB 中的临时 MapReduce 集合

无论如何我可以删除所有临时地图减少集合吗?我读到您可以传递一个布尔参数,以保留或删除集合。ut参数用于shell,我使用java驱动程序。因此,我无法将集合设置为在查询完成后删除。有没有什么shell命令可以全部删除?

没有列出与此相关的任何命令。

下面显示的是我拥有的集合的示例。

0 投票
2 回答
3528 浏览

c++ - 临时工的寿命

以下代码工作正常,但为什么这是正确的代码?为什么 foo() 返回的临时的“c_str()”指针有效?我想,当输入 bar() 时,这个临时文件已经被破坏了——但它似乎不是这样的。所以,现在我假设 foo() 返回的临时值将在调用 bar() 后被销毁 - 这是正确的吗?为什么?

0 投票
3 回答
509 浏览

c++ - 安全转换为 const char * - 临时生命周期问题

我定义了以下模板,以便我可以执行显式但安全的强制转换:

经常(例如,当将参数传递给 sprintf 和类似函数时)我想使用这个模板来执行从字符串类到 c 样式字符串的转换。但是,它表明当临时被传递时这是不可能的,因为临时不会活得足够长。

考虑以下示例:

来自 obj.GetDebugName() 的临时对象仅在 safe_cast 期间存在,并且在 printf 内部时指针无效(指向已被销毁的临时字符串的数据)。

作为一种解决方法,我目前使用没有模板调用的直接强制转换:const char *c = (const char *)(obj.GetDebugName(),但这有一个缺点是类型安全性降低,因为强制转换不必要地强(例如,即使 obj.GetDebugName() 返回 int 而不是一个字符串值)。static_cast可能会稍微好一点,但即使这样也太强了,我想在任何情况下都不能保证安全时出错。

1)如果我没记错的话,标准说临时生命周期是一个声明(除非通过绑定到 const 引用来扩展,在这种情况下它是引用的生命周期)。查看上面的 printf 示例时,我不太确定“语句”是什么,以及我看到的行为是否符合要求。如果语句是整个 printf,则 const From &from 的生命周期会更短——我应该期望临时的生命周期是多少?有人可以澄清吗?

2) 是否有其他方法可以进行安全的转换,但结果的寿命足够长而有用?

编辑:

请考虑一下这更像是一种一般性问题,我正在寻找一种机制,如何针对临时生命周期进行这样的转换,我对任何特定字符串类的特殊情况不太感兴趣。

澄清为什么我不想使用 .c_str 或类似的成员函数:我希望转换代码与类型无关,我不希望代码依赖于我知道这个特定字符串类型已实现 c_str 的事实,我即使 ObjectDebugName 将返回不同的字符串类,或者即使 ObjectDebugName 已经返回 const char *(这排除了调用 .operator const char *() 的可能性,也希望它能够工作。

0 投票
5 回答
1490 浏览

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

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

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

0 投票
4 回答
968 浏览

c++ - 我们可以检查目标文件是否存在由 C++ 编译器引入的临时文件?

有没有办法检查从下面的代码( file1.o )生成的目标文件是否存在临时引入的编译器?我们可以使用哪些工具从目标文件中获取此类信息?

0 投票
7 回答
11363 浏览

c++ - 为什么占用临时地址是非法的?

我知道下面写的代码是非法的

原因是我们不允许获取临时对象的地址。但我的问题是为什么?

让我们考虑以下代码

这里接受的答案提到

“通常编译器将临时和副本视为两个对象,它们位于完全相同的内存位置并避免复制。”

根据该声明,可以得出结论,临时存在于某个内存位置(因此其地址可能已被占用)并且编译器决定通过在存在临时的相同位置创建就地对象来消除临时对象.

这是否与不能获取临时地址的事实相矛盾?

我还想知道如何实现返回值优化。有人可以提供与 RVO 实施相关的链接或文章吗?

0 投票
3 回答
570 浏览

c++ - 如何在编译或运行时检测对临时问题的 const 引用?

我最近发现我的 C++ 程序中的大多数错误都类似于以下示例:

输出:1000

我希望这个程序输出 123(在 get_x() 中设置的 xyzn 的值),但是“Big b”的创建覆盖了临时 Z。结果,对象 Y 中对临时 Z 的引用现在被覆盖了大 b,因此输出不是我所期望的。

当我使用带有选项“-Wall”的 gcc 4.5 编译这个程序时,它没有给出任何警告。

解决方法显然是从 Y 类中的成员 Z 中删除引用。但是,通常 Y 类是我尚未开发的库的一部分(最近的 boost::fusion),此外情况要复杂得多比我给出的这个例子。

这有某种 gcc 选项,或者任何其他软件可以让我最好在编译时检测到此类问题,但即使运行时也总比没有好?

谢谢,

克林顿

0 投票
1 回答
709 浏览

ruby-on-rails - Rails:设置一个临时变量?

我需要为视图设置一个临时变量(实际上更多的是“真”或“假”)。

用例是,当创建用户时,他们被重定向到仪表板页面。对于 Google AdWords 转化跟踪,需要在视图中显示一些代码,但仅应在create方法运行后显示。

所以我猜测解决这个问题的方法是设置一些临时变量(@show_conversion或其他东西)并将其设置为一个视图(类似于 Flash 消息)。

那么,我该怎么做呢?

0 投票
3 回答
226 浏览

c++ - 临时对象混淆

看看这个代码片段

为什么?