C,C++76 [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. [c++] Visual studio 2019 환경에서 디버깅 하기 / debugging, memory, disassemble, 디버그, 디버거 안녕하세요. 오늘은 VS2019 환경에서 디버깅 기능을 사용하는 방법에 대해 알아보겠습니다. 디버깅이란 프로그램 작성 중 발생한 에러를 찾고 고치는 과정을 말합니다. 개발자가 오류를 잡는데 도움을 주도록 보통 개발 툴마다 디버깅 기능을 지원하는데, 그중에서도 비쥬얼 스튜디오는 디버깅 기능이 뛰어나기로 유명합니다. 한 단계 한 단계 따라가며 VS의 디버깅 기능을 이용하다 보면 신기하기도 하고 한번 익혀두시면 많은 도움이 될 거라 생각합니다. 알아볼 것 기본적인 디버깅 방법 디버깅 중 메모리 영역 확인 (특정 주소에 어떤 값이 들었는지 눈으로 확인) 디버깅 중 고급언어로 작성된 소스코드를 저급 언어인 어셈블리어로 변환하여 보는 방법 (Disassemble) 목차 1. 중단점 체크 2. 디버깅 시작 2-1) .. 2019. 10. 15. [C++] 수행 시간 측정 clock 함수 | ctime, clock_t, measure time Header: clock_t clock(void); : clock() 함수는 프로그램의 실행 시작으로부터 경과된 시간을 clock ticks 수로 반환합니다. 단위는 clock tick이지만 ms와 동일합니다. 즉 ms단위를 정수형으로 반환합니다. ctime에 정의되어있는 CLOCKS_PER_SEC과 같이 사용하면 sec(초) 단위로 출력할 수 있습니다. 더 정밀하게 측정하고 싶다면 chrono 라이브러리를 참고하세요. Preview) // 측정 시작 위치 clock_t startTime = clock(); /* 측정할 코드 */ // 측정 종료 위치 clock_t endTime = clock(); // 측정 시간 계산 (ms단위) clock_t elapsed = endTime - startTime; /.. 2019. 10. 13. 이전 1 ··· 10 11 12 13 다음