참고링크:
http://pacs.tistory.com/entry/STL-%EB%B3%80%EA%B2%BD-%EB%B6%88%EA%B0%80-%EC%8B%9C%ED%80%80%EC%8A%A4-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98
// std::copy() sms 다른 종류의 콘테이너간의 복사가 가능하며 iterlator가 있는 곳에는 어디에나 적용이 가능하다.
// std::cout을 대상으로 하기 위해서 std::ostream_iterator를 사용한 것도 눈여겨 볼만 하다.
// 아래는 그 사용 예 이다.
// ConAppTest1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <string>
#include <list>
#include <vector>
#include <algorithm> // ns_Alogirhm 부분과 관련
namespace ns_std_algorithm {
int test6_Algorithm_copy()
{
std::vector<int> vec1(10);
std::generate(vec1.begin(), vec1.end(), std::rand);
std::cout << "vec1의 모든 데이터를 vec2에 copy" << std::endl;
std::vector<int> vec2(10);
std::copy(vec1.begin(), vec1.end(), vec2.begin());
for (std::vector<int>::iterator IterPos = vec2.begin();
IterPos != vec2.end();
++IterPos)
{
std::cout << *IterPos << std::endl;
}
std::cout << std::endl;
std::cout << "vec1의 모든 데이터를 list1에 copy" << std::endl;
std::list<int> list1(10);
std::copy(vec1.begin(), vec1.end(), list1.begin());
for (std::list<int>::iterator IterPos2 = list1.begin();
IterPos2 != list1.end();
++IterPos2)
{
std::cout << *IterPos2 << std::endl;
}
std::cout << "std::cout copy()" << std::endl;
std::ostream_iterator<int> out(std::cout, "\n");
std::copy(list1.begin(), list1.end(), out);
std::cout << std::endl;
return 0;
}
int test_main()
{
return test6_Algorithm_copy();
}
};
int _tmain(int argc, _TCHAR* argv[])
{
return ns_std_algorithm::test_main();
}
http://pacs.tistory.com/entry/STL-%EB%B3%80%EA%B2%BD-%EB%B6%88%EA%B0%80-%EC%8B%9C%ED%80%80%EC%8A%A4-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98
// std::copy() sms 다른 종류의 콘테이너간의 복사가 가능하며 iterlator가 있는 곳에는 어디에나 적용이 가능하다.
// std::cout을 대상으로 하기 위해서 std::ostream_iterator를 사용한 것도 눈여겨 볼만 하다.
// 아래는 그 사용 예 이다.
// ConAppTest1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <string>
#include <list>
#include <vector>
#include <algorithm> // ns_Alogirhm 부분과 관련
namespace ns_std_algorithm {
int test6_Algorithm_copy()
{
std::vector<int> vec1(10);
std::generate(vec1.begin(), vec1.end(), std::rand);
std::cout << "vec1의 모든 데이터를 vec2에 copy" << std::endl;
std::vector<int> vec2(10);
std::copy(vec1.begin(), vec1.end(), vec2.begin());
for (std::vector<int>::iterator IterPos = vec2.begin();
IterPos != vec2.end();
++IterPos)
{
std::cout << *IterPos << std::endl;
}
std::cout << std::endl;
std::cout << "vec1의 모든 데이터를 list1에 copy" << std::endl;
std::list<int> list1(10);
std::copy(vec1.begin(), vec1.end(), list1.begin());
for (std::list<int>::iterator IterPos2 = list1.begin();
IterPos2 != list1.end();
++IterPos2)
{
std::cout << *IterPos2 << std::endl;
}
std::cout << "std::cout copy()" << std::endl;
std::ostream_iterator<int> out(std::cout, "\n");
std::copy(list1.begin(), list1.end(), out);
std::cout << std::endl;
return 0;
}
int test_main()
{
return test6_Algorithm_copy();
}
};
int _tmain(int argc, _TCHAR* argv[])
{
return ns_std_algorithm::test_main();
}
댓글
댓글 쓰기