问题标签 [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++ - 使用 boost::assign::list_of 和 boost::variant
鉴于:
如何初始化c
为单列?
c++ - 如何用宏做static_assert?
我试图使用这个建议来做一个静态断言,但如果我在模板的方法中使用它,我不会收到编译错误。
示例如下:
我用 g++ 4.7.2 编译它,并警告说 C++ ISO 不支持 VLA:
那么,为什么在模板方法中使用 STATIC_ASSERT 时编译不会失败?有没有办法让它失败?
注意:我需要一个 c++98(甚至可能是 c++03)解决方案,如果可能的话,只能使用宏。
c++ - 使用 C++98 标准编写的代码是否可以使用新的编译器进行编译?
在 C++98 标准下编写的代码是否可以与较新的编译器一起使用,例如 g++。或者它不会工作。假设简单的“Hello World”程序可以工作,但是复杂的命令行程序呢?
c++ - C++98/03 参考折叠和 cv 限定符
下面的代码编译(gcc 4.7.2 或 icc 13)并产生“1 2”输出。这意味着const
限定符被删除,即f<int&>
具有参数类型int&
。
为什么会这样?据我了解,根据§14.3.1.4:
如果模板参数的模板参数
T
将类型命名为“对cv1S
的引用”,则尝试创建类型“对cv2T
的引用”会创建类型“对cv12S
的引用”,其中cv12是 cv 限定符cv1的并集和cv2。冗余的 cv 限定符被忽略。
const
不应该被丢弃。这是代码:
c++ - 测试某事物是否是对其他事物的引用
假设我有:
我怎样才能做这样的测试:
我想这对于那些对代码进行单元测试的人来说是一个常见问题。
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
。怎么会这样?
关于我的数据对象,这里是否有很多副本发生在幕后?
c++ - 通过引用传递提升智能指针
以下函数将Container
我在代码中使用的 a 转换为 ac 接口所需的。我必须将 a 传递boost::shared_array<CValues>&
给此函数,因为我需要保持其关联的内存处于活动状态,直到我使用 cContainer。有没有更好的方法来做到这一点?
c++ - 迭代 boost::shared_array
您将如何迭代 a 中的项目boost::shared_array
?你会get()
在上面做 a 并使用原始指针作为迭代器吗?
c++ - 在 std::vector 中查找
我有一个成对的向量。对中的第一个是 std::string 类型,第二个是 Container 类型。
std 或 boost 中存在哪些方便的功能,以便我可以在给定字符串值作为键的情况下返回 Container?
更新
有人评论说我可以使用 std::map 代替,但我实际上需要保留我的项目的顺序,按照我将它们推送到向量的顺序。
c++ - 转换 boost::variant 类型的 std::vector
我如何实现下面的函数以从 vector of 转换Value
为 a Container
?我想断言是否所有成员values
都属于同一类型,即向量是否包含字符串和整数的混合。这是因为函数的返回值是 astd::vector<int>
或 a std::vector<std::string>
。