以下代码使用Apple LLVM版本10.0.0(clang-1000.11.45.5)在Xcode中进行干净编译。
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
auto print = [](const int& n) { std::cout << n << '\n'; };
std::vector<int> numbers = {0, 1, 2, 3, 4, 5};
sort(numbers.begin(), numbers.end());
for_each(numbers.begin(), numbers.end(), print);
}
我希望它不会,因为它在调用std::
和for_each
之前缺少sort
前缀。这似乎不是std::for_each
或std::sort
所独有的,因为可以通过algorithm
和numeric
标头中的其他函数来重现该行为。为什么会这样?
请注意,目前没有使用using namespace
。