问题标签 [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.
c++ - C ++ - 使模板化的typedef在包含文件中公开和访问
我在 C++ 中有一个模板化的 typedef(我知道它们是不合法的)。
基本上,这样的 typedef 是为了避免在我的代码中写满长类型名(我希望能够写typeA someVariable;
而不是typename Foo<T,N,P>:: typeA someVariable;
)。
请在下面找到我想要实现的代码。
因此,我在文件 fooUser.h 的顶部、外部函数 someFunction 中声明了这些类型,以使它们普遍可访问。然而,模板化的问题在 C++ 中是不合法的。我正在使用 C++98。
因此参数化的类型别名(引入到 C++11 中),例如
不是一种选择。
知道我的语法不合法,我正在寻找替代解决方案。
c++ - 无法理解此语句 - 运算符后的返回类型
我遇到了以下代码,该类的方法让我感到困惑
通常返回类型在方法的前面。如果有人可以解释此声明的作用以及有关此声明的详细信息,我将不胜感激
c++ - lock_guard 始终拥有所引用互斥锁的锁定模式是什么意思?
我正在阅读这篇关于互斥锁的文章。它指出
lock_guard 和 unique_lock 最大的区别在于 lock_guard 始终拥有被引用互斥锁的锁定模式,而 unique_lock 不拥有。实际上,unique_lock 甚至可能不引用互斥锁。
到目前为止,我只了解当我们需要构造一个锁但不锁定互斥体时,我们可以使用std::unique_lock
. 它是一个改进版本,std::lock_guard
除此之外我看不出有什么不同。如果有人能解释拥有引用互斥锁的锁定模式是什么意思,我将不胜感激?
c++ - 构造函数不能采用非 const 引用
我有以下课程:
我尝试这样使用:
我在 VS20012 中编译得很好,但在 gcc 4.3.4 中编译不了。
这是编译器错误:
如果我将 Foo 的构造更改为采用 const ,那么它编译得很好。但是,我需要通过引用传递。你觉得这个问题是什么?
c++ - 比较订单无关紧要的两个容器
我将参数作为字符串存储到命令中。我现在希望将多个参数存储在标准库或 boost 的容器中。参数的顺序并不重要。
例如对于命令 LIST,以下是等效的:
然后我希望能够比较两个容器,其中 和 的["all", "verbose"]
比较["verbose", "all"]
给出true
.
你会推荐我使用什么容器,我应该如何进行比较?
c++ - 将成员复制到 std::vector
是否有一种很好的单线方法来为节点中的每个项目使用 Node::name 填充向量名称?
这是我目前所做的:
我正在使用 C++98、std 和 boost。
c++ - 使用 std::back_inserter 时我应该保留内存吗
使用 back:inserter 时是否需要保留内存?
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 被编译器视为二进制文件,即使它的第二个参数是默认值?正因为如此,我需要绑定。
c++ - c++ & g++ 版本相同或不同
我是 c++ 新手,我对 c++ 和 g++ 版本有很大的困惑。我开始了解到有不同版本的 g++ 编译器,最新的是 4.8(我认为)。但后来我看到很多地方都提到了 c++98 和 c++11。这两个版本控制系统是针对同一事物还是针对完全不同的事物?如果它们不同,我如何检查我使用的是 c++98 还是 c++11?谢谢!
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 上编译)