问题标签 [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.
c++ - 使用返回值优化获取和函数调用的循环?
这是一个从缓冲源获取数据并将其发送以进行处理的片段。如果队列为空,则 get() 返回 null,并且 process 方法很乐意接受 null 并且什么也不做。对此进行编码的最佳方法是什么?
没有办法预测通过 get() 到达的值,它们就是它们,它们需要尽快出列并传递给 process()。
我在这里没有看到很多浪费的努力——如果我跳过名为“a”的显式局部变量并使循环成为一个衬里:
g.get() 的隐式返回值仍将分配空间,可能涉及构造函数调用等。
如果返回的东西有任何大小或复杂性,最好有一个指向它的指针而不是它的副本,并传递该指针而不是按值复制......所以我宁愿有
而不是
我用 C++ 编写了一个测试用例,尝试了两行和一行版本,循环 100,000,000 次。
如果 a 是一个有 4 个整数和 2 个浮点数的对象,并且 process() 方法都接触到它们,那么两行解决方案实际上更快!如果 a 对象是单个 int,则单行版本更快。如果对象很复杂但 process() 方法只触及一个值,则单行版本更快。
对我来说最有趣的是,使用 g++ 编译器,Mac OS X 10.5.8,-O 第一级优化开关导致相同的、更快的操作,具有 1 行和 2 行版本。
除了让编译器优化之外,这两种方法都只有一行,没有显式的中间变量,并且通过引用传递以避免复制,有什么通常可以让它运行得更快吗?我觉得我错过了一些明显的东西。
php - 运行 MySQL 查询,存储临时值,然后运行另一个查询
为了给出一些上下文,以下下拉列表位于一个表格中,该表格给出了存储在数据库中的动物的当前配置文件描述:即,这匹小马很高,属于这种性别,由 somesuch 拥有,等等。该表格的目的是编辑这些当前值。有各种选项可以自由地被过度使用,其他我希望选择仅限于下拉菜单中的选项。
以下是我用于 Gender 字段的当前代码,尽管它确实有效,但它不是正确的做事方式。我会对查询当前状态,将当前状态作为默认选项,存储当前状态,查询不等于存储的当前状态的其他可用状态,然后将剩余状态作为选项的方法更感兴趣。这是我最能适应表单上所有其他下拉菜单的方法。
引用了两个表 - profile tbl 和 prm_breedgender tbl。每个性别都有一个 ID,然后每个配置文件都有一个相应的 ID 来表示他们的性别(男性 = 1,女性 = 2 等)。$profile 变量表示正在查看的当前配置文件。
任何帮助将不胜感激。我不是所有的经验(显然!)所以随附的解释会很棒。
java - Struts 2 重定向 - 永久重定向选项?301 与 302
默认情况下,Struts 2“重定向”是一个临时重定向(302)。这是有道理的。但是,出于 SEO 目的,我需要发出永久重定向 (301)。有没有简单的方法来实现这一目标?
c++ - 将临时附加到对 const 的引用时出错
可能的重复:
typedef 和 const 指针的容器
为什么代码会发出错误?
错误是:
错误:从“int”类型的临时变量中“int&”类型的非常量引用的初始化无效</p>
我阅读了关于延长临时人员生命周期的帖子,其中说临时人员可以绑定到对 const 的引用。那为什么我的代码没有被编译?
c++ - c++向量问题;通过引用传递东西
所以我检查了我的指针,我真的不确定这里出了什么问题。我通过引用修改它们的函数来传递 2 个向量向量。这是功能:
这就是它的名字:
错误:
我试过制作矢量指针,但没有奏效。我想我在某处或某处使用临时变量……这里有什么问题?
c++ - 如何在 C++ 中实现临时?
以下'a'
是暂时的。
它不会在数据部分(const/static
does)中恢复,也不应该在堆栈中(局部变量 dos)。它在哪里?
更新
non-lvalue
和rvalue
是一回事吗?
c++ - 当一个数组由子表达式创建时,其中的临时变量会发生什么?
我正在阅读 FDIS (12.2p{4,5}) 的这两段:
在两种情况下,临时对象在与完整表达式结束时不同的点被销毁。第一个上下文是调用默认构造函数来初始化数组元素时。如果构造函数有一个或多个默认参数,则在默认参数中创建的每个临时变量的销毁将在构造下一个数组元素(如果有)之前进行排序。
和
第二个上下文是引用绑定到临时的。引用绑定到的临时对象或引用绑定到的子对象的完整对象的临时对象在引用的生命周期内持续存在,除非:[...]
- 临时绑定到函数调用 (5.2.2) 中的引用参数将持续存在,直到包含调用的完整表达式完成。
这两个似乎与以下情况相矛盾
这个输出CDCD
是第一个上下文CCDD
所要求的,还是第二个上下文所要求的输出?GCC 似乎遵循第二个上下文描述和输出CCDD
。我是否忽略了一些重要的事情?
编辑:我认为它不需要 C++0x。new
我的问题也影响了这个表达式:
但在这种情况下,GCC 遵循第一个上下文,并输出CDCD
.
mysql - 优化 MySQL 慢查询,去掉 Using where;使用临时的;使用文件排序
我正在尝试优化一个查询,该查询需要 2 秒以上才能返回对只有 10,000 条记录的数据库的响应。解释表明它应该几乎立即返回。我认为性能缓慢是因为使用 where;使用临时的;使用文件排序?
这是查询:
并解释:
和表结构:
感谢任何帮助!
编辑:通过添加此索引能够使这更快:
shell - 来自 Emacs 的外部进程调用期间的临时修改环境
使用or时是否有一种方便且实用(类似with-...
)的方式来临时修改环境变量?shell-comand
start-process
在此先感谢,每
c++ - Microsoft VS C ++编译器可以从临时对象初始化引用是否是一个错误
可能重复:
将临时绑定到左值引用
使用VS2008 C++编译器,编译代码没有编译错误。
我相信 C++ 标准,包括 C++2003 和即将到来的 C++0x,都不允许它。而且我还收到 gcc 编译器的编译时错误。
所以我想知道的是,这是 VS 编译器允许从临时对象初始化引用的已知错误。
还是 VS 编译器的功能扩展?如果是,临时对象的生命周期是什么?