问题标签 [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 投票
6 回答
51597 浏览

c++ - const 引用类成员是否会延长临时对象的寿命?

为什么会这样:

给出以下输出:

答案是:

代替:

答案是:四

0 投票
4 回答
7963 浏览

c++ - 将临时对象传递给需要指针的函数

我尝试了以下代码:

但是这段代码无法编译。
我的想法是:f1 按值返回,因此它创建了临时的,我正在获取地址并将其传递给 f2。
现在请解释我在哪里想错了?

0 投票
1 回答
426 浏览

c# - 无法在 Windows 2008 R2 64 位中为 C# 应用程序生成临时类

我不知道这里发生了什么。我的 c# (VS2008) 应用程序在 32 位操作系统中运行良好,但是当我在 Windows 2008 R2 64 位操作系统中运行相同时,我收到以下错误:

无法生成临时类(结果=1)。错误 CS0008:从文件 'c:\Windows\assembly\GAC_MSIL\xxxx\7.0.1001.0__5b72a65e64576834\xxxx.dll' 读取元数据时出现意外错误 - 'Bad Key。'

浏览了一些文章,其中说如果临时文件夹没有足够的权限,则会弹出此错误。我已经授予临时文件夹“C:\windows\temp”和用户临时文件夹(“C:\users\\appdata\local\temp”)的权限,但没有运气。我在这个程序集中有一个 web 服务代理类,它需要 XML 序列化,我猜想使用 temp 文件夹在运行时创建序列化程序集,它会抛出这个错误。

非常感谢任何输入。顺便说一句,我在事件查看器中发现了该错误(无法生成.....)。

谢谢。

0 投票
2 回答
523 浏览

c++ - FCD 中的右值和临时对象

我花了很长时间才理解右值和临时对象之间的区别。但现在委员会的最终草案在第 75 页指出:

右值[...]一个xvalue、一个临时对象或它的子对象,或者一个与对象无关的值。

我不敢相信我的眼睛。这一定是一个错误,对吧?


为了澄清,这是我对这些术语的理解:

在这个程序中,有两个表达式表示同一个临时对象:prvaluestd::string("hello")和 lvalue str。表达式不是对象,但它们的评估可能会产生一个。具体来说,prvalue 的评估产生一个临时对象,但 prvalue 不是临时对象。有人同意我的观点还是我疯了?:)

0 投票
3 回答
2458 浏览

c++ - const 对临时怪异的引用

我们都知道这样的事情在 c++ 中是有效的:

尽管:

不是。

最近的一个问题中,对话导致了这条规则。OP 发布了一些明显唤起 UB 的代码。但我希望它的修改版本可以工作(这是修改后的版本):

这会在某些机器上打印垃圾,在其他机器上打印 10 个......对我来说听起来像 UB :-)。但后来我想,好吧,A它基本上是一个美化的int东西,它初始化一个并阅读它。为什么不直接调用Aanint看看会发生什么:

10每次都会打印。至少看起来const 引用规则对int版本有效,但对类版本无效。由于使用堆,它们都只是UB吗?我只是对这个int版本很幸运,因为编译看到了所有consts 并直接打印出 a10吗?我错过了规则的哪个方面?

0 投票
1 回答
574 浏览

c++ - 右值引用是否允许隐式转换?

下面的代码合法吗?

g++ 4.5.0 编译此代码没有任何问题。

0 投票
3 回答
2246 浏览

database - Are sessions faster than querying the database?

So for example, the user is logging in, and the system is storing informations about them example: birth date, so is faster to get this information from the session, or to query the database for it?

My idea was, that the user needs to login just once and the session is always there, but If I query the database, then if the user reloads the page, the system needs to query again and again, instead of getting the data from a temporary 'place'.

I use PHP and MySQL.

0 投票
3 回答
1654 浏览

c++ - 关于将 string::swap() 与临时对象一起使用的问题

以下部分演示了我的问题:(GCC 上的编译错误)

我的错误:

虽然我知道 stringstream 中的 str() 返回一个临时值,但它没有意义,也不是很明显我应该使用局部变量作为参数而不是我的第一直觉来调用临时值上的交换。

显然,直接赋值效果更好,并且较新的 C++ 标准具有完美的移动语义,但这些不适用于我的实现。

Visual Studio 没有给出这个问题,因为它对 C++ 标准放宽了。我已经理解了对临时事物的整个 const 引用(我认为这是我的编译错误的原因)。

我的问题:任何人都可以向我解释这是否是唯一的解决方案,也许可以向我解释将来如何考虑这个问题,以便我可以发现并解决类似的问题?

(如果没有人有任何深刻的见解,我至少在这里为有类似问题的人发布这个)

0 投票
6 回答
10407 浏览

c++ - 为什么我需要 std::get_temporary_buffer?

我应该使用什么目的std::get_temporary_buffer?标准规定如下:

获得一个指向存储空间的指针,该存储空间足以存储最多 n 个相邻的 T 个对象。

我认为缓冲区将分配在堆栈上,但事实并非如此。根据 C++ 标准,这个缓冲区实际上不是临时的。::operator new这个函数比不构造对象的全局函数有什么优势。我对以下陈述是等价的吗?

这个函数只存在于语法糖吗?为什么会有temporary它的名字?


1996 年 7 月 1 日的 Dobb 博士期刊中提出了一个用于实现算法的用例:

如果没有缓冲区可以分配,或者如果它小于请求,算法仍然可以正常工作,它只是减慢了速度。

0 投票
6 回答
774 浏览

c - 我应该将临时变量声明带出 C 和 C++ 的循环吗?

这就是我的意思,假设我有如下代码:

似乎char* ptr每次都在循环中分配,使其无效?

写这个更有效吗?

请评论这个有趣的问题。谢谢!

谢谢,博达赛多。