요약
입력 반복자를 이용하여 노드를 삽입시 많이 사용되는 반복자가 insert_iterator이다. 이 반복자를 이용하면 원하는 위치에 노드를 삽입하려 할 때 편하게 작업을 수행할 수 있다. 반복자의 사용 예를 보면 다음과 같다. #include <iostream>#include <list> using namespace std; int main(){ // 스트링을 저장할 리스트 선언 및 첫 번째 스트링 저장 list<string> strList; strList.push_back(“AAA”); // 리스트에 데이터를 입력하기 […]
리스트는 순차형 컨테이너이면서 포인터 연산을 수행하기 때문에 특정 노드를 바로 찾아가는 키의 개념이 없다. 따라서 원하는 노드를 찾고자 할 때는 반복자를 이용하여 처음부터 차례대로 노드들을 체크해보아야 한다. 리스트는 이러한 단점에도 불구하고 인의의 노드의 삽입과 삭제가 무척 빠르고 효율적이기 때문에 활용가치가 무척 높은 자료구조이다.
벡터는 원소의 상수 레퍼런스를 반환하는 메소드를 제공한다. 이 메소드를 이용하면 벡터 속에 있는 데이터를 바로 얻을 수 있다. 이러한 메소드에는 front(), back() 등이 있다. 다음은 front()와 back() 메소드의 간단한 사용 예를 보여주고 있다. strVec.push_back(“A”); // 벡터 내부: AstrVec.push_back(“B”); // 벡터 내부: A BstrVec.push_back(“C”); // 벡터 내부: A B C cout << “시작: ” << strVec.front() […]
헤더파일을 보면 다음과 같이 #ifndef와 #endif가 나온다. 이는 3-1.h 헤더파일을 다른 소스파일이 여러 번 include 했을 때 발생하는 문제를 미연에 방지하기 위해서이다. #ifndef __3_1_h__#define __3_1_h__… … …#endif /* ifndef __3_1_h__ */ 예를 들어, 3-1.h 헤더파일을 include한 또 다른 헤더파일인 3-2.h 파일이 존재하는데, 3-2.cpp 파일에서 다음과 같이 include 했다고 하자. #include “3-1.h”#include “3-2.h” 이와 같이 했을 […]
출력 스트링 스트림에서도 put 메소드를 이용하여 버퍼에 하나의 문자식 입력할 수 있다. 간단한 예를 보면 다음과 같다. #include <strstrea>/* 우분투 10.04, g++-4.3.3 버전에서는 다음의 헤더파일을 사용하도록 한다. * #include <iostream> * #include <backward/strstream>*/ using namespace std; void main(void){ ostrstream intStream; char intData = ‘0’; // 1~10 까지 숫자와 공백을 버퍼에 출력 for(int count = 0; count […]
Recent Comments