问题标签 [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++ - 在 Ubuntu 上链接 TR1?
我已经使用 std::tr1::regex 编写了一个类,但我不知道如何链接它。我得到(对不起大转储......):
我应该链接什么?
c++ - 在生产中使用 std::tr1 是否值得?
我正在使用 MS VC 2008 和一些项目英特尔 C++ 编译器 11.0。是否值得在生产中使用 tr1 功能?他们会保持新的标准吗?
例如,现在我使用stdext::hash_map
. TR1 定义std::tr1::unordered_map
. 但是在 MS 中实现unordered_map
只是他们的stdext::hash_map
,以另一种方式模板化。
c++ - 按其他字符串索引字符串
我需要用其他字符串索引特定字符串,但我真的找不到这样做的好方法。我尝试使用 tr1::unordered_map,但我在使用它时遇到了一些困难。如果有人能告诉我最好的方法是什么,我将不胜感激:) 我还需要用数字索引对象(数字不按顺序排列,所以我不能使用向量)
c++ - reference_wrappers 的容器(需要比较运算符?)
如果您将 stl 容器与 POD 类型的 reference_wrappers 一起使用,则如下代码可以正常工作:
但是,如果您使用非 POD 类型,例如(人为示例):
仅声明上面的比较运算符是不够的,您还必须声明:
并且可能还有:
为了使等效代码工作:
现在,我想知道这是否真的是它应该做的方式,因为它有点不切实际。似乎应该有一个更简单的解决方案,例如模板:
reference_wrapper 的行为方式可能有一个很好的理由(可能是为了适应没有比较运算符的非 POD 类型?)。也许已经有一个优雅的解决方案,我只是还没有找到它。
c++ - 包含元组时的类型问题
我正在使用带有 Feature Pack 1 的 Visual Studio 2008。
我有一个像这样的 typedef 和这样typedef std::tr1::tuple<std::string, std::string, int> tileInfo
的函数const tileInfo& GetTile( int x, int y ) const
。
在实现文件中,该函数具有完全相同的签名(带有添加的类名限定符),我收到redefinition: different type modifiers
错误消息。它似乎在寻找一个int&
而不是一个tileInfo&
当我将鼠标悬停在标题中的函数类型上时,即tileInfo&
会出现一个小条说static const int tileInfo
. 我认为这可能是问题所在,但我不确定该怎么做。它让我相信编译器认为std::tr1::tuple<std::string, std::string, int>
是static const int
.
任何帮助表示赞赏,谢谢。
PS 这是一个模拟相同情况的示例,只是压缩到最低限度。
c++ - 在 reference_wrapper 和可调用对象上
给定以下可调用对象:
astd::tr1::reference_wrapper<>
通过它调用:
相反,当operator()
接受参数时:
std::tr1::bind
接受一个 reference_wrapper 作为可调用的包装器...
但这有什么问题?
g++-4.4 编译失败,出现以下错误:
c++ - tr1 标头是否可用于 gcc v3.4.6?
tr1 标头是否可用于 g++ v3.4.6?如果是这样,我如何在编译时找到它们。
以下是编译失败:
出现以下错误:
我需要移动到以后的编译器还是在某个地方有头文件?
c++ - std::tr1::function 是否有合理的默认值?
我花了一些时间谷歌搜索,但并没有真正找到任何东西。我希望能够做到这一点:
否则我必须这样做:
我意识到我可以创建一个什么都不做的函数,但是我正在寻找一些标准的方法来不必处理检查该函数是否被赋予了一个空对象模式的值。
c++ - 为什么 std::tr1::shared_ptr<>.reset() 这么贵?
分析一些大量使用 shared_ptrs 的代码,我发现 reset() 非常昂贵。
例如:
跟踪最后一行(在 VC++ 2010 下)中的 reset(),我发现它创建了一个新的引用计数对象。
有没有更便宜的方法,可以重用现有的引用计数并且不打扰堆?