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

c++ - std::tr1::array 和 boost::array 之间的区别

我的印象是 std::tr1::array 与 boost::array 相同,因为它会在访问越界索引时抛出异常。事实上,我看了一眼标题,看起来也是这样。有人可以解释为什么以下代码会导致总线错误(gcc 版本 4.0.1(Apple Inc. build 5465))和 gcc 4.1.2 上的段错误吗?

谢谢。

0 投票
3 回答
3137 浏览

c++ - cstdint 和 tr1/cstdint 的区别

<cstdint>和 和有什么不一样<tr1/cstdint>?(除了一个把东西放在命名空间std::和另一个放在std::tr1::

由于这些东西还不是标准的,我猜它是特定于编译器的,所以我在谈论 gcc。要使用非 tr1 编译,我必须使用 编译-std=c++0x,但使用 tr1 时没有这样的限制。

std::答案也许是没有,但除非有标准,否则你不能到处添加东西。因此,在 c++0x 标准化之前,必须使用 using 发出错误,<cstdint>但在添加到命名空间时您不必担心tr1::,这不会声称其中的东西是标准的吗?或者还有更多?

谢谢。

ps - 如果您像我一样将“std”作为标准阅读,我为这个 Q 中过度使用这个词表示歉意。

0 投票
2 回答
2790 浏览

c++ - 在 GCC 中使用 shared_ptr 的可移植方式

GCC 4.1 使用<tr1/memory>标头而 GCC 4.3 使用<memory>标头,我需要一种可移植的方式来shared_ptr与 GCC 4.3.2 和 GCC 4.2.1 一起使用,有没有办法在不检查 GCC 版本宏或使用 Boost 等外部库的情况下做到这一点?

0 投票
7 回答
11311 浏览

c++ - std::tr1::function 和 std::tr1::bind

我在 C++ 类中使用非常复杂的 C 函数时遇到问题(重写 C 函数不是一种选择)。C函数:

我需要自己提供一个 void 类型的函数integrand,而 adapt_integrate 将计算 n 维积分。calcTripleIntegral如果是独立函数,则(下面)中的代码作为独立函数func工作)。我想传递一个(非静态!)类成员函数作为被积函数,因为这很容易重载等......

在 GCC 4.4.5(预发行版)上,这给了我:

错误:变量 'std::tr1::function func' 具有初始化程序但类型不完整

编辑:我的代码有什么错误?我现在尝试使用 GCC 4.4、4.5 和 4.6 进行编译,都导致相同的错误。要么没有做任何工作,要么我做错了什么/编辑

非常感谢!如果我不够清楚,我会很乐意详细说明。

PS:我可以通过使用指向 myIntegrator.cpp 中某处定义的函数的函数指针来解决这个问题吗?

最终更新:好的,我错误地认为 TR1 为此提供了一个/两行解决方案。真可惜。我正在将我的类“转换”为命名空间并复制粘贴函数声明。我只需要一个基类和一个重新实现接口的子类。C 函数指针 + C++ 类 = 对我来说是个坏消息。无论如何感谢所有答案,你已经向我展示了 C++ 的一些黑暗角落;)

0 投票
1 回答
290 浏览

c++ - 无法在 VS10 中订购weak_ptr

我无法使用 VS10 让 'operator <' 为 Weak_ptr 进行编译。我是否缺少#include 或#using?

即使是文档中的代码示例也不适合我。 http://msdn.microsoft.com/en-us/library/bb982759.aspx

0 投票
1 回答
1031 浏览

c++ - 关于 std::array 的初始化

假设您有一个模板类的 c++0x std::array 成员,并且您想通过一个带有几个迭代器的构造函数来初始化它:

假设您提供的范围与您的存储大小一致,是否可以在构造函数初始化程序中初始化 std::array,从而避免存储中 Tps 的多余默认构造函数?在这种情况下是否可以利用 std::initializer_list<> ?

0 投票
5 回答
1156 浏览

c++ - 疯狂的 C++ 向量迭代器

我声明:

接着:

和:

的返回mList.size()是 0,但是当我使用迭代器时,它会遍历为空的向量!这就是我使用迭代器的方式:

它执行“ someMethod()”,然后抛出分段错误。迭代器如何在空向量中进行迭代????

更多信息

我正在使用 GTK,所以这就是我传递主要对象的方式:

this ClassB 本身

然后我像这样收到它:

正如我所引用的mList那样声明了,当我访问其他属性时,假设data->xxx它可以工作并且很好,问题只发生在mList这个属性不是动态分配的。

我检查了*data和的内存地址this,它们是相同的地址。

0 投票
3 回答
2780 浏览

c++ - std::tr1::mem_fn 返回类型

我想把这个结果:

在变量内部,这个变量的类型是什么?

这看起来像这样:

另外,结果类型是std::tr1::bind什么?

谢谢 !

0 投票
2 回答
3696 浏览

c++ - 用 Boost.TR1 替换原生 VS 2010 (VC10) tr1 库

我一直在 std::tr1 命名空间中使用 VS 2005 (VC8) 和 Boost.TR1,方法是设置 VS 的 Include Directories 以优先考虑 boost tr1 标头,如此所述。

现在我转移到 VS 2010 (VC10),我似乎使用相同的包含方法得到编译错误。

包含目录设置为:

  1. [升压根]\boost\tr1\tr1
  2. [增强根]
  3. VC 标准包含目录

示例代码:

构建输出:

似乎它正在使用 VC10 的 tr1 标头而不是 boost。让 VS 使用 Boost.TR1 作为替代品的正确方法是什么?

0 投票
2 回答
1352 浏览

c++ - Boost 的 TR1 或 VC10 - 哪个更好?

我目前正在从 Visual Studio 2008 迁移到 2010。我的软件大量使用了 Boost 及其 TR1 功能。我现在遇到很多编译器错误,因为 VC10 有它自己的 TR1 实现。

我知道我可以使用_HAS_CPP0X开关禁用 Microsoft 的 TR1 实现(请参阅此处),但我不确定这是否还会禁用将来可能有趣的其他功能。

所以,我想知道 TR1 的哪个实现更好:Boost 的那个还是 Microsoft 的那个?有什么区别吗?禁用 Microsoft 实施是否有任何缺点?