C++14에서 추가된 STL 유틸리티이다.

 

integer_sequence

임의의 정수형 시퀸스를 컴파일 타임 때 만든다

namespace std {

  template <class T, T... I>

  struct integer_sequence {

    typedef T value_type;

    static constexpr size_t size() noexcept { return sizeof...(I); }

  };

}

 

< 예제 >

#include <iostream>

#include <utility>

 

void g(int a, int b, int c)

{

  std::cout << a << ", " << b << ", " << c << std::endl;

}

 

template <class T, T... Seq>

void f(std::integer_sequence<T, Seq...>)

{

  g(Seq...);

}

 

int main()

{

    f(std::integer_sequence<int, 0, 1, 2>());

}

 

// 결과

0, 1, 2

 

 

 

make_integer_sequence

지정한 수만큼 0에서 순차적으로 증가한 요소를 만든다. 

 

namespace std {

  template <class T, T N>

  using make_integer_sequence = integer_sequence<T, 0, 1, …, N - 1>;

}

T: 시퀸스 요소의 정수 형

N: 요소 수

 

<예제 >

#include <iostream>

#include <utility>

 

void g(int a, int b, int c)

{

  std::cout << a << ", " << b << ", " << c << std::endl;

}

 

template <class T, T... Seq>

void f(std::integer_sequence<T, Seq...>)

{

  g(Seq...);

}

 

int main()

{

  // integer_sequence<int, 0, 1, 2>를 만든다

  f(std::make_integer_sequence<int, 3>());

}

 

// 결과

0, 1, 2

 

 

 

출처: http://cpprefjp.github.io/reference/utility/integer_sequence.html

     http://cpprefjp.github.io/reference/utility/make_integer_sequence.html





 모던 C++ : C++14의 핵심 기능을 중심으로

http://www.hanbit.co.kr/ebook/look.html?isbn=9788968487460 

모던 C++ : C++14의 핵심 기능을 중심으로

크게보기 미리보기

 모던 C++ : C++14의 핵심 기능을 중심으로

최흥배 지음 | 국내서 | 2015년 03월 31일

파일포맷
PDF
이용안내
eBook 구매시 유의사항 및 이용안내 유의사항
상태
판매중
독자리뷰
총 리뷰 2개 , 평균별점 
블로거리뷰
총 리뷰 0
트랙백주소
http://www.hanbit.co.kr/tb_ebook/9788968487460

페이지 : 69쪽 | ISBN : 9788968487460 | 난이도 : 초/중급 | 변환코드 : 2746


저작자 표시
신고
by 흥배 2015.04.20 08:00
| 1 |

티스토리 툴바