#include <cstdio>
#include <vector>
using namespace std;
void test1() {
printf("test1 = ");
vector<int> a(10, 0);
a.reserve(100500);
for (int x : a) {
// left = a.begin(), right = a.end()
// for (it = left..right)
printf("%d ", x);
a.insert(a.end() - 3, x + 1);
}
puts("");
}
vector<int> f( int x ) {
return vector<int>(3, x);
}
void test2() {
printf("test2 = ");
// res = f(7), left = res.begin(), right = res.end()
// for (it=left..right)
for (int x : f(7)) {
printf("%d ", x);
}
puts("");
}
void test3() {
//int x = 2;
printf("test3 = ");
for (int x : f(x)) { // WARNING
printf("%d ", x);
}
puts("");
}
int x = 1;
namespace MySpace {
int x = 2;
};
int main() {
test1();
test2();
test3();
int x = 2;
//int x = 3; // error: duplicate
{
int x = 3;
::x;
MySpace::x;
//std::vector<int>
}
}