iterator_traits #1번

phoenixKim·2022년 5월 24일
0

temp

목록 보기
7/11

완결 코드


#include <iostream>
using namespace std;
#include <string>
#include <stack>
#include <list>
#include <vector>
#include <iterator>

template<typename T>
auto sum(T first, T last) -> typename iterator_traits<T>::value_type
{
	//이터레이터가 가지고 있는 데이터를 가지고 와야함.
	// 내부인자가 int형일 수 있고, double일수 있고.float일 수 있고...
	// 배열로 할때 문제가 됨.
//	typename T::value_type s = 0;

	typename iterator_traits<T>::value_type s2 = 0;

	while (first != last)
	{
		s2 += *first;
		++first;
	}

	return s2;
}


int main()
{
	//list<int> l{ 1,2,3,4,5,6,7,8,9,10 };
	//int n = sum(begin(l), end(l));

	vector<float> l{ 1.1f,2.2f,3.3f};
	float n = sum(begin(l), end(l));
	
	//int l[5]{ 1,2,3,4,5 };
	//int n = sum(begin(l), end(l));

	cout << n;
}

profile
🔥🔥🔥

0개의 댓글

관련 채용 정보