问题标签 [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.
c++ - tr1::shared_ptr 和 boost::shared_ptr 的区别?
tr1::shared_ptr
和有什么区别boost::shared_ptr
吗?如果是这样,是什么?
c++ - 在类中随机使用 C++0x TR1,以降低开销
我正在使用 VC 2010 并试图通过将随机定义放置在每个类实例的构造函数中,然后根据需要从那里调用来保持某些函数的开销和重复代码较低。我现在所拥有的,简化的是:
不幸的是,这不起作用,我最终得到了这个错误:
\vc\include\random(513): 错误 C2248: 'std::tr1::_Ewrap<_Engine,_Tgt_type>::operator =' : 无法访问在类'std::tr1::_Ewrap<_Engine 中声明的私有成员, _Tgt_type>'
\vc\include\random(446) : 参见 'std::tr1::_Ewrap<_Engine,_Tgt_type>::operator =' 的声明
此诊断发生在编译器生成的函数 'std::tr1::variate_generator<_Engine,_Distrib> &std::tr1::variate_generator<_Engine,_Distrib>::operator =(const std::tr1::variate_generator<_Engine,_Distrib > &)'
我知道这些应该在打开构造函数之前初始化,否则会因为缺少默认构造函数而出错,但我不明白为什么会失败。我的 C++ fu 很生锈。
我看到的每个示例都显示分发器和生成器在调用它的函数中全局或本地初始化,这对我来说似乎很愚蠢,因为我有几个将使用 r_norm 的成员函数在紧密循环中调用。它严重未能通过气味测试。没有人知道我错过了什么吗?
c++ - 使用 regex_replace 函数时出错
我正在使用 mingw gcc 编译器 4.5.0 版本。
我有以下错误:
c++ - 使用 unordered_set 防止不同哈希值的键落在同一个桶中
这可能是一个愚蠢的问题,但这里有:
我将一个单词字典散列到一个基于 unordered_set 的散列表中。我的哈希函数是故意“坏”的,因为所有包含相同字母集的字符串都会哈希到相同的值。我最初试图超越正常的哈希函数行为,并使用每个单词中字母的“频率直方图”作为哈希值(我了解到这是不可能的:)),但其中一个线程建议使用 26-位掩码来实现相同的。到目前为止,哈希函数工作得很好。
例如,在我的方案中,CITIED 和 CITED 哈希到相同的值,1049144。我的想法是给定一组字母,我想找到包含该组字母的所有单词。
我猜我还没有完全理解散列的概念(或者我的代码完全错误),因为我无法完全解释我遇到的行为:
我决定查找所有由字符串中的字母组成的单词“活”。我的输出(带有哈希键)如下:
CURTSEYED 到底是怎么降落在那里的?可以看出,它具有与其余三个单词不同的哈希值。我对哈希表的理解/实现的错误在哪里?
产生上述输出的代码:
code>My hash function :
Comparison function :
c++ - 提升序列化 - 序列化 std::tr1::shared_ptr?
Boost::Serialization 内置了对boost::shared_ptr<>
.
有没有办法使用这种支持std::tr1::shared_ptr<>
呢?
是否可以从std::tr1::shared_ptr<>
to 转换boost::shared_ptr<>
?
c++ - C++ TR1:在 const 方法中使用均匀分布生成随机数的正确方法是什么?
我有一个简单的 const 方法想要生成一个随机数
这会导致您的标准(如果已模板化)const 违规错误
/usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.1/../../../../include/c++/4.5.1/tr1/random.tcc:910:4:错误: 传递 'const std::tr1::mersenne_twister' 作为 'result_type std::tr1::mersenne_twister<_UIntType, __w, __n, __m, __r, __a, __u, __s, __b, __t, __c, __l>::operator()() [with _UIntType = long unsigned int, int __w = 32, int __n = 624, int __m = 397, int __r = 31, _UIntType __a = 2567483615ul, int __u = 11, int __s = 7, _UIntType __b = 2636928640ul, int __t = 15, _UIntType __c = 4022730752ul, int __l = 18, result_type = long unsigned int]' 丢弃限定符
这在没有const_cast
on的情况下可行this
吗?
regex - Visual Studio 2010 TR1 正则表达式语法是否已更改?
我正在维护一个程序,它使用 TR1 正则表达式来评估设备设置的用户输入。我刚刚将该程序的构建环境从 Visual Studio 2008 切换到 Visual Studio 2010。它使用以下正则表达式来验证 IP 地址的形式:
以下是应验证的示例输入:
出于某种原因,在 VS2010 下,此正则表达式不再验证格式正确的 IP 地址。我已经通过用以下替换这个正则表达式解决了这个问题(我在正则表达式上找到了这个来匹配 DNS 主机名或 IP 地址?:
我的问题是为什么以前的正则表达式不再起作用?我承认我不是正则表达式 ASCII 艺术的精通大师,但我认为我有一个可以理解的解决方案。
c++ - C++ TR1 正则表达式 - 多行选项
我认为 $ 表示字符串的结尾。然而,下面的代码给出了“testbbbccc”的结果,这让我很惊讶......这意味着 $ 实际上匹配行尾,而不是整个字符串的结尾。
我一直在尝试找到一个“多线”开关(实际上可以在 PCRE 中轻松找到),但没有成功……有人能指出我正确的方向吗?
问候, RP
c++ - OS-X 对 std::tr1 的支持
Mac 上当前对 tr1 或新 C++0x 的支持是什么?
我知道 XCode 提供的 gcc 总是比 gcc.gnu.org 提供的版本落后几个版本,所以我只是想知道现代支持的状态如何。
例如,我需要下载 boost 才能使用 shared_ptr 还是可以从 std::tr1 获取它?
c++ - C++
我目前正在寻找 std::map 的更好替代方案,并且遇到了帖子标题中提到的类。有人可以澄清它们之间的区别,不是在性能/API 方面,而是在它们与当前和未来标准相关的位置方面。