auto は型推論を意味することを理解しています。として使用されているのを見たことがなく、さらに、この短いコードでauto&
何をしているのかわかりません。:
#include <iostream>
#include <vector>
#include <thread>
void PrintMe() {
std::cout << "Hello from thread: " << std::this_thread::get_id() << std::endl;
}
int main() {
std::vector<std::thread> threads;
for(unsigned int i = 0; i < 5; i++) {
threads.push_back(std::thread(PrintMe));
}
for(auto& thread : threads) {
thread.join();
}
return 0;
}
これは、
for(std::vector<std::thread>::iterator it = threads.begin(); it != threads.end(); it++ ) {
(*it).join();
}
しかし、この構文がどのように機能するのか、その & 記号がそこで何をしているのかわかりません。