<分区>
我想使用 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 << ' ';
}
或类似的东西。