Engineering/C++

C++ STL 정리

luckydipper 2024. 12. 19. 11:28

STL은 4가지 분류로 나뉜다.

  1. Containers
  2. Algorithms
    numeric: 난수 생성 + 최적화된 array들을 기반한 알고리즘
    algorithm: [begin, end) 기반으로 range 있는 container에 쓰는 알고리즘
  3. Iterators
  4. Functors

0. itoa

<numeric>
C의 memset의 c++ version이다.
수학적에서 관용적으로 쓰이던 표현이다. set of number 혹은 unit vector 쓴다. 그리스어로 짧은 문자이다.

template< class ForwardIt, class T >
void iota( ForwardIt first, ForwardIt last, T value ); // (constexpr since C++20)

https://en.cppreference.com/w/cpp/algorithm/iota

1. copy_n

<algorithm>
특정 구간을 copy해서 붙힌다.

template< class InputIt, class Size, class OutputIt >
OutputIt copy_n( InputIt first, Size count, OutputIt result ); 
// (1)    (since C++11) (constexpr since C++20)
template< class ExecutionPolicy,
          class ForwardIt1, class Size, class ForwardIt2 >
ForwardIt2 copy_n( ExecutionPolicy&& policy, ForwardIt1 first, Size count, ForwardIt2 result ); 
//(2)    (since C++17)

https://en.cppreference.com/w/cpp/algorithm/copy_n

2. bitset