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

c++ - 使用 boost::assign::list_of 和 boost::variant

鉴于:

如何初始化c为单列?

0 投票
5 回答
8298 浏览

c++ - 如何用宏做static_assert?

我试图使用这个建议来做一个静态断言,但如果我在模板的方法中使用它,我不会收到编译错误。

示例如下:

我用 g++ 4.7.2 编译它,并警告说 C++ ISO 不支持 VLA:

那么,为什么在模板方法中使用 STATIC_ASSERT 时编译不会失败?有没有办法让它失败?

注意:我需要一个 c++98(甚至可能是 c++03)解决方案,如果可能的话,只能使用宏。

0 投票
1 回答
481 浏览

c++ - 使用 C++98 标准编写的代码是否可以使用新的编译器进行编译?

在 C++98 标准下编写的代码是否可以与较新的编译器一起使用,例如 g++。或者它不会工作。假设简单的“Hello World”程序可以工作,但是复杂的命令行程序呢?

0 投票
2 回答
602 浏览

c++ - C++98/03 参考折叠和 cv 限定符

下面的代码编译(gcc 4.7.2 或 icc 13)并产生“1 2”输出。这意味着const限定符被删除,即f<int&>具有参数类型int&

为什么会这样?据我了解,根据§14.3.1.4:

如果模板参数的模板参数T将类型命名为“对cv1 S的引用”,则尝试创建类型“对cv2 T的引用”会创建类型“对cv12 S的引用”,其中cv12是 cv 限定符cv1的并集和cv2。冗余的 cv 限定符被忽略。

const不应该被丢弃。这是代码:

0 投票
1 回答
80 浏览

c++ - 测试某事物是否是对其他事物的引用

假设我有:

我怎样才能做这样的测试:

我想这对于那些对代码进行单元测试的人来说是一个常见问题。

0 投票
1 回答
178 浏览

c++ - 另一个 boost::variant 的 boost::variant 成员子集

我正在使用一个相当笨拙的 c 接口来存储集合。该类LowLevelStorer代表我为此接口编写的包装器。该类Storer是与自身相关的高级类Data。它会缓存数据并将数据捆绑成更复杂的数据类型,只有LowLevelStorer. 我的其余代码仅使用Data并且不了解LowLevelData.

在下面的示例代码中,我希望变体中的成员Data包含在LowLevelData变体中。有没有办法指定我是如何做到的?

我真的不明白为什么下面的代码可以编译,以及为什么它实际上可以正常工作。也就是说,void operator()(const SimplePath&, const Data& data) const需要一个 Data 引用,但似乎在调用时正确地将其转换为 LowLevelData 对象void operator()(const LowLevelData& data) const。怎么会这样?

关于我的数据对象,这里是否有很多副本发生在幕后?

0 投票
1 回答
159 浏览

c++ - 通过引用传递提升智能指针

以下函数将Container我在代码中使用的 a 转换为 ac 接口所需的。我必须将 a 传递boost::shared_array<CValues>&给此函数,因为我需要保持其关联的内存处于活动状态,直到我使用 cContainer。有没有更好的方法来做到这一点?

0 投票
2 回答
4141 浏览

c++ - 迭代 boost::shared_array

您将如何迭代 a 中的项目boost::shared_array?你会get()在上面做 a 并使用原始指针作为迭代器吗?

0 投票
4 回答
26844 浏览

c++ - 在 std::vector 中查找

我有一个成对的向量。对中的第一个是 std::string 类型,第二个是 Container 类型。

std 或 boost 中存在哪些方便的功能,以便我可以在给定字符串值作为键的情况下返回 Container?

更新

有人评论说我可以使用 std::map 代替,但我实际上需要保留我的项目的顺序,按照我将它们推送到向量的顺序。

0 投票
2 回答
1818 浏览

c++ - 转换 boost::variant 类型的 std::vector

我如何实现下面的函数以从 vector of 转换Value为 a Container?我想断言是否所有成员values都属于同一类型,即向量是否包含字符串和整数的混合。这是因为函数的返回值是 astd::vector<int>或 a std::vector<std::string>