1
나는 1500 값의 벡터를 랜덤 화하기 위해 다음 코드를 가지고있다. (텍스트 파일에 넣기를 원하지만 할 수는 없다. 솔직히이 코드의 작동 방식을 완전히 이해하지 못했기 때문에 다른 사람이 작동 방식 및/또는 출력을 파일로 변경하는 방법을 설명해 주시기 바랍니다.ostream_iterator를 사용하여 파일을 인쇄하는 방법은 무엇입니까?
#include <iostream>
#include <random>
#include <algorithm>
#include <iterator>
#include <fstream>
int main() {
std::vector<int> v;
for (int i; i<1500; ++i){
v.push_back(i);
}
std::random_device rd;
std::mt19937 g(rd());
std::shuffle(v.begin(), v.end(), g);
std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << "\n";
return 0;
}
'표준 : ostream_iteartor'는 객체를 리턴하는 반복자이며 할당시 스트림에 쓰는'operator *()'에서 시작하여 문자열 분리 기호가옵니다. 'std :: copy()'는 소스 시퀀스의 각 요소를 대상 시퀀스의 객체에 할당합니다. 즉, 각 객체는 스트림에 기록됩니다. 'std :: cout'을'std :: ofstream' 객체로 대체하면 대상 파일에 쓸 수 있습니다. –