将C ++ 11转换为等效的C ++ 98代码

维生素

我想使用C ++ 11,但是不幸的是,为了确保与某些专有库的二进制兼容性,我必须确保可以使用仅支持C ++ 98的编译器来构建代码。有没有办法将某些C ++ 11构造(至少不需要标准库支持的那些构造)转换为其C ++ 98等效形式?

例如:

std::vector<int> v = ...;
for (auto &i : v)
    std::cout << i << ' ';

转换成

std::vector<int> v = ...;
for (std::vector<int>::iterator it = v.begin(), end = v.end(); it != end; ++it) {
  int &i = *it;
  std::cout << i << ' ';
}

或类似的东西。

dom0

可以使用LibTooling(属于Clang项目的一部分,专门用于编写高级工具)自动正确地执行此转换(而不是在Perl中编写自己的解析器),从而创建源到源编译器。例子)。

请注意,有些C ++ 11/14构造无法像有范围的for循环那样容易地转换为C ++ 98/03代码。随处可见可变参数模板。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将代码从C ++ 11转换为C ++ 98?

来自分类Dev

我如何在没有增强的情况下将C ++ 11代码转换为C ++ 98?

来自分类Dev

我如何在没有增强的情况下将C ++ 11代码转换为C ++ 98?

来自分类Dev

将C ++ 98代码升级到C ++ 11

来自分类Dev

尝试将C ++ 11代码转换为C ++ 03时默认函数模板参数出错

来自分类Dev

在C中将数组转换为8位代码

来自分类Dev

使用CryptoJS将等效的Python3代码转换为JS DES加密

来自分类Dev

将C99代码转换为Z3,细微的细节

来自分类Dev

将C#编码SHA256代码转换为Javascript

来自分类Dev

将Swift 2代码转换为Swift 3

来自分类Dev

gcc 4.8.1:将c代码与c ++ 11代码结合

来自分类Dev

Sublime Text 2运行C ++ 11代码

来自分类Dev

以下C ++ 11代码应如何工作?

来自分类Dev

使用Visual Studio 2013编译C ++ 11代码

来自分类Dev

需要将C ++模板转换为C99代码

来自分类Dev

如何将C ++ 11代码编译为Webassembly?

来自分类Dev

将Fortran f77代码转换/翻译为C或Matlab / Octave

来自分类Dev

严格的C90代码的GCC选项?

来自分类Dev

外键MVC 4代码优先C#

来自分类Dev

将Visual C / C ++内联汇编代码转换为GCC等效代码

来自分类常见问题

将“ yield from”语句转换为Python 2.7代码

来自分类Dev

在运行时将ES5代码转换为ES6

来自分类Dev

将PEP 448 Python 3.5代码转换为与Python 3.4兼容

来自分类Dev

将vb6代码转换为vb.net?

来自分类Dev

将具有Lambda表达式的Java 8代码转换为Java 6

来自分类Dev

将Java 8代码转换为Java 6:Lamba表达式

来自分类Dev

是否可以将UTF-8代码转换为R中的正确字符?

来自分类Dev

如何将csharp 8代码转换为早期版本

来自分类Dev

json Webservice,它将传递将转换为图像的Base64代码

Related 相关文章

热门标签

归档