c++ - 自动将 c++11 auto 关键字重写为派生类型

标签 c++ c++11 auto

也许是个奇怪的问题,但是有没有可用的软件,给定一堆 c++11 代码,派生所有类型的自动类型变量并用这些派生类型重写代码?还有初始化列表?

原因是我们想提供我们代码的向后兼容版本(非 C++11),主要是为了与 osx 的可移植性。自动输入和初始化列表是我们最常使用的功能,因为它们使代码更具可读性,但手动删除它们是不行的。 由于这实际上是编译器对自动类型化变量所做的,所以它似乎并不太牵强?

最佳答案

查看 BOOST_AUTO 和/或 BOOST_TYPEOF

你可以替代

 auto x = foo();

 BOOS_AUTO(x, foo());

如果你想“管理”一个decltype,你必须求助于BOOST_TYPEOF。请注意,这两个宏都有一些变体,您需要了解更多信息

关于c++ - 自动将 c++11 auto 关键字重写为派生类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9497264/

相关文章:

c++ - C2678 二进制 '<' : no operator found which takes a left-hand operand of type 'const Node' (or there is no acceptable conversion)

c++ - 传递 va_list 的一部分

c++ - 插入 std::vector 时 std::unique_ptr 的正确用法是什么

c++ - 使用标准算法复制所有其他元素(下采样)

c++ - 在 C++ 中通过重载构造函数初始化未知类型的变量

c++ - 在 dll 中解析外部符号

c++ - 使用 v8 的共享库与静态链接的 v8 不兼容?

c++ - std::unordered_map 是如何实现的

c++ - 有没有一种方法可以使用基于范围的迭代器来迭代对指针列表值的引用?

c++ - 为什么 lambda 参数中不允许使用 auto?