问题标签 [c++98]

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

c++ - C ++ - 使模板化的typedef在包含文件中公开和访问

我在 C++ 中有一个模板化的 typedef(我知道它们是不合法的)。

基本上,这样的 typedef 是为了避免在我的代码中写满长类型名(我希望能够写typeA someVariable;而不是typename Foo<T,N,P>:: typeA someVariable;)。

请在下面找到我想要实现的代码。

因此,我在文件 fooUser.h 的顶部、外部函数 someFunction 中声明了这些类型,以使它们普遍可访问。然而,模板化的问题在 C++ 中是不合法的。我正在使用 C++98。

因此参数化的类型别名(引入到 C++11 中),例如

不是一种选择。

知道我的语法不合法,我正在寻找替代解决方案。

0 投票
2 回答
74 浏览

c++ - 无法理解此语句 - 运算符后的返回类型

我遇到了以下代码,该类的方法让我感到困惑

通常返回类型在方法的前面。如果有人可以解释此声明的作用以及有关此声明的详细信息,我将不胜感激

0 投票
1 回答
785 浏览

c++ - lock_guard 始终拥有所引用互斥锁的锁定模式是什么意思?

我正在阅读这篇关于互斥锁的文章。它指出

lock_guard 和 unique_lock 最大的区别在于 lock_guard 始终拥有被引用互斥锁的锁定模式,而 unique_lock 不拥有。实际上,unique_lock 甚至可能不引用互斥锁。

到目前为止,我只了解当我们需要构造一个锁但不锁定互斥体时,我们可以使用std::unique_lock. 它是一个改进版本,std::lock_guard除此之外我看不出有什么不同。如果有人能解释拥有引用互斥锁的锁定模式是什么意思,我将不胜感激?

0 投票
1 回答
483 浏览

c++ - 构造函数不能采用非 const 引用

我有以下课程:

我尝试这样使用:

我在 VS20012 中编译得很好,但在 gcc 4.3.4 中编译不了。

这是编译器错误:

如果我将 Foo 的构造更改为采用 const ,那么它编译得很好。但是,我需要通过引用传递。你觉得这个问题是什么?

0 投票
1 回答
211 浏览

c++ - 比较订单无关紧要的两个容器

我将参数作为字符串存储到命令中。我现在希望将多个参数存储在标准库或 boost 的容器中。参数的顺序并不重要。

例如对于命令 LIST,以下是等效的:

然后我希望能够比较两个容器,其中 和 的["all", "verbose"]比较["verbose", "all"]给出true.

你会推荐我使用什么容器,我应该如何进行比较?

0 投票
4 回答
188 浏览

c++ - 将成员复制到 std::vector

是否有一种很好的单线方法来为节点中的每个项目使用 Node::name 填充向量名称?

这是我目前所做的:

我正在使用 C++98、std 和 boost。

0 投票
2 回答
1576 浏览

c++ - 使用 std::back_inserter 时我应该保留内存吗

使用 back:inserter 时是否需要保留内存?

0 投票
0 回答
741 浏览

c++ - 将 boost::algorithm::to_lower 与 std::for_each 一起使用

我正在尝试编译以下内容:

但我得到了错误:

错误 C2664: 'void (WritableRangeT &,const std::locale &)' : 无法将参数 1 从 'boost::arg' 转换为 'std::string &'

在 Visual Studio 中。

我究竟做错了什么?

我是否正确地说 boost::algorithm::to_lower 被编译器视为二进制文件,即使它的第二个参数是默认值?正因为如此,我需要绑定。

0 投票
1 回答
124 浏览

c++ - c++ & g++ 版本相同或不同

我是 c++ 新手,我对 c++ 和 g++ 版本有很大的困惑。我开始了解到有不同版本的 g++ 编译器,最新的是 4.8(我认为)。但后来我看到很多地方都提到了 c++98 和 c++11。这两个版本控制系统是针对同一事物还是针对完全不同的事物?如果它们不同,我如何检查我使用的是 c++98 还是 c++11?谢谢!

0 投票
2 回答
375 浏览

c++ - “最重要的 const”与 auto_ptr:为什么代码无法编译?

以下代码无法在 Visual C++ 2008 和 2010 上编译:

我希望“最重要的 const”适用于变量“b”,但是,它没有编译,并且由于某种原因,编译器要求一个复制构造函数(这让我感到惊讶,因为这里不应该涉及复制) . 独立调用bar()工作正常,这意味着,我想,这确实b是问题的初始化。

这是编译器错误,还是标准中描述的真正编译错误?

(也许它在 C++98 中被禁止,在 C++11 中被授权?)

注意:它可以在 Visual C++ 2012、gcc 4.6 和 Solaris CC(所有编译器...)上编译,但不能在 gcc 3.4 和 XL C 上编译)