본문 바로가기

c++ stl2

[C++] 공백 단위로 문자열 자르는 split 함수 구현 ( find_if() 사용 ) 안녕하세요. 오늘은 표준 라이브러리 함수인 헤더의 std::find_if() 함수를 사용하여 split 함수를 구현해보겠습니다. split 함수는 문자열을 공백 단위로 나누어 벡터에 저장 후 벡터를 반환하는 함수입니다. 예를 들어 "hello world"라는 문자열을 인수로 전달하면 "hello", "world"를 요소로 갖는 벡터를 반환합니다. 더 간단한 코드 혹은 공백이 아닌 다른 문자를 기준으로 자르고 싶다면 다음 포스팅을 참고하세요. https://woo-dev.tistory.com/156?category=882878 함수 프로토타입 std::vector split(const std::string& str) 함수 구현을 위해 동작 방식을 단계 별로 나열해보겠습니다. 1) 인자로 전달된 문자열(st.. 2019. 11. 1.
[C++] 컨테이너 복사 std::copy 함수, 반복자 어댑터 std::back_inserter 안녕하세요. 오늘은 컨테이너 타입에 관계없이 특정 범위의 요소를 복사하여 컨테이너의 특정 위치에 추가할 수 있는 copy 함수와 함께 자주 사용되는 반복자 어댑터 back_inserter 함수에 대해 알아보겠습니다. Header: template OutputIterator copy (InputIterator first, InputIterator last, OutputIterator result); : [first, last) 범위의 모든 요소를 result가 가리키는 위치부터 순차적으로 복사합니다. 이때, result가 가리키는 위치의 저장 공간은 충분하다고 가정합니다. copy 함수가 공간을 확보해주지 않습니다. 요소 저장은 내부적으로 '=' 연산, 즉 대입을 통해 저장되기 때문에 push_back처럼.. 2019. 10. 26.