问题标签 [tr1]

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 回答
153 浏览

c++ - 编译器如何在具有数组的模板特化之间进行选择?

我刚刚遇到了 std::tr1::extent 模板,这让我很困惑。我一生中从未处理过数组类型参数,所以我不明白它们是如何工作的。所以,给定来自 gcc 的代码type_traits

编译器如何在这些专业之间进行选择?我应该通过什么类型extent让它选择第二个?

0 投票
1 回答
995 浏览

c++ - 存储和散列的最佳方式键 (C++)

我的目标是创建一个有效的结构来存储矩阵中最相关的条目(在没有内存限制的世界中)大约为 10^5 x 10^5 并填充双精度数。该矩阵是对称的,因此它实际上只包含 (10^10)/2 个值。

我需要在模拟中多次访问条目,因此快速检索至关重要。

为了保持结构易于管理,我将删除不太可能使用的成员。如果索引是 (int_x1, int_x2),我经常想删除所有包含例如 x1 的对。

这项任务的最佳结构或结构集是什么?两个整数的好散列是什么?

为了便携性,我想避免使用 Boost。我目前在程序的其他地方使用 TR1 的 unordered_map。我正在考虑再次将 unordered_map 与密钥对一起使用,但我不确定如何以这种方式有效地删除条目,而且我不知道一个好的哈希函数会是什么样子。

我是一个初级程序员,所以请说明显而易见的。

0 投票
1 回答
308 浏览

regex - 需要正则表达式模式帮助

原始字符串是这样的:

什么是正则表达式模式,它将用“”空字符串替换斜线后的所有 RTF 标签,除了\unumbers?结果应如下所示:

我试过"\\\\\\w+|\\{.*?\\}|\\}"删除反斜杠和所有花括号后面的所有内容。缺少的部分类似于\\!(\\\\u)

0 投票
3 回答
1336 浏览

c++ - 当 c++ xx 被批准时,命名空间 tr1 会发生什么?

我正在使用 VS2008 中的 tr1 命名空间写一些东西。当 C++xx 被批准时会发生什么?在其他 C++ 版本之前是否发生过这种情况?tr1 的东西还能用吗,还是我必须改变我所有的包含?我意识到我在做一个非常大的假设,即有一天会发生这种批准。我知道你们中很可能没有人为 MS 工作或为 GCC 做出贡献,但如果您有此类更改的经验,我将不胜感激。

0 投票
4 回答
7038 浏览

c++ - 有没有办法让点 (.) 匹配 C++ TR1 正则表达式中的换行符?

我在http://msdn.microsoft.com/en-us/library/bb982727.aspx上找不到任何关于此的内容。

也许我可以使用 '[^]+' 来匹配所有内容,但这似乎是一个 hack?

谢谢。

0 投票
3 回答
3192 浏览

c++ - C++ STL 容器中的 NULL 指针

不幸的是,我没有完全开发自己开发的程序。我最近注意到 unordered_set 的运算符 - 上的 Visual Studio 致命错误,它是通过简单插入指向 unordered_set 的指针来调用的。在查看了当地人之后,我注意到 set 只有 2 个元素,最后一个是 NULL (所以我想这就是它崩溃的原因)。现在问题来了:(理论上)unordered_set(或任何其他 STL 容器)如何将 NULL 指针作为其元素之一。程序是多线程的,但根据我的评论,这部分代码只能从一个线程访问。谢谢。

调用堆栈和部分源代码供感兴趣的人 参考: http ://privatepaste.com/c8e7f35a4e(PushToProcessed 是从 Object 本身调用的,它传递对自身的引用,因此不能为 NULL)

0 投票
3 回答
2217 浏览

c++ - 使用 std::tr1::function(或 boost::function)创建多播事件

我正在尝试使用 TR1 中的功能创建类似 C# 的多播委托和事件。或 Boost,因为 boost::function (大部分)与 std::tr1::function 相同。作为概念证明,我尝试了这个:

哪个有效,有点。该行callbacks.remove(func)没有。当我编译它时,我收到以下错误:

list这是由函数中的标题的第 1194 行引起的remove。这是什么原因造成的?

0 投票
1 回答
730 浏览

c++ - tr1::function WINAPI

如何将 tr1::function 与 WINAPI 调用约定一起使用?(至少在 Windows 中)。我可以使用 Visual c++ 9 SP1 TR1 或 BOOST 的...

0 投票
3 回答
11406 浏览

c++ - c++中map和unordered_map的性能差异

我有一个简单的要求,我需要一个类型的地图。但是我需要理论上最快的检索时间。

我同时使用了地图和来自 tr1 的新提议的 unordered_map,我发现至少在解析文件和创建地图时,通过一次插入一个元素。

map 只用了 2 分钟,而 unordered_map 用了 5 分钟。

因为我将成为在 Hadoop 集群上执行的代码的一部分,并且将包含约 1 亿个条目,所以我需要尽可能短的检索时间。

还有另一个有用的信息:目前正在插入的数据(键)是从 1,2,... 到 ~1000 万的整数范围。

我还可以强制用户指定最大值并使用上述顺序,这会显着影响我的实现吗?(我听说 map 是基于 rb 树的,按递增顺序插入会带来更好的性能(或最差的性能?))

这是代码

暂定解决方案:在查看评论和答案后,我相信动态 C++ 数组将是最佳选择,因为实现将使用密集键。谢谢

0 投票
1 回答
1778 浏览

c++ - C++中python dict和tr1::unordered_map的区别

我有一个与理解 python 字典如何工作有关的问题。

我记得在 python 中读到某个字符串是不可变的以允许散列,这也是为什么不能直接使用列表作为键的原因,即列表是可变的(通过支持 .append),因此它们不能用作字典键。

我想知道 C++ 中 unordered_map 的实现如何处理这些情况。(因为 C++ 中的字符串是可变的)