흔히 말하는 프로그래밍의 기본이라는 C/C++을 하지 않아도 어떠한 언어를 하다보면 배열이라는 것을 배우게 됩니다. 그런데 아시다시피 C/C++ 에서 기본 배열을 사용하게 되면 길이를 비롯해서 불편함 점이 많습니다. 그래서 보통 사람들은 std::vector 를 사용하는 경향이 있는데요.
boost 에 올라와있다 TR1 표준에 포함되는 것 중에는 Array 클래스가 존재합니다. 뭐 굳이 얘길 한다면 뭐라 말할 정도로 편리해 지지는 않았지만 해당 부분에 있어서 기타 STL 알고리즘과 호환되게 하는 면이 중점적으로 다루어진것 같았습니다.
사용법은 다음과 같습니다. 헤더는 위의 boost 라이브러리가 프로젝트 인클루드 폴더에 포함되어있다는 가정하에 컴파일이 가능하며, 이 것이 begin, end 같은 부분으로 많이 편리해졌다는 것을 알 수 있습니다. 선언에서는 데이터 형태와, 크기를 넣어주어야 하죠. 물론 실질적으로 그냥 사용할 때는 [] 리터럴을 사용하는 배열과 별 다른점을 느끼지 못할지도 모르겠지만 STL 상에서 traits 들과 결합하여 사용한다면 사용법에 있어서 많은 편리함이 생길것 같습니다.
boost 에 올라와있다 TR1 표준에 포함되는 것 중에는 Array 클래스가 존재합니다. 뭐 굳이 얘길 한다면 뭐라 말할 정도로 편리해 지지는 않았지만 해당 부분에 있어서 기타 STL 알고리즘과 호환되게 하는 면이 중점적으로 다루어진것 같았습니다.
사용법은 다음과 같습니다. 헤더는 위의 boost 라이브러리가 프로젝트 인클루드 폴더에 포함되어있다는 가정하에 컴파일이 가능하며, 이 것이 begin, end 같은 부분으로 많이 편리해졌다는 것을 알 수 있습니다. 선언에서는 데이터 형태와, 크기를 넣어주어야 하죠. 물론 실질적으로 그냥 사용할 때는 [] 리터럴을 사용하는 배열과 별 다른점을 느끼지 못할지도 모르겠지만 STL 상에서 traits 들과 결합하여 사용한다면 사용법에 있어서 많은 편리함이 생길것 같습니다.
"Language" 분류의 다른 글
| boost::spirit - Parser 라이브러리 (0) | 2008/04/23 |
| std::ostreambuf_iterator, std::istreambuf_iterator의 이유 (1) | 2008/04/16 |
| std::auto_ptr - Smart Pointer 이지만?? (1) | 2008/04/13 |
| C# Application - Main 에서 Try-Catch 오작동 해결하는 방법 (7) | 2008/04/07 |
| Boost 1.35 - 워크샵 뒤의 포스팅 (2) | 2008/04/03 |


댓글을 달아 주세요
잘 정리해놓으셨네요 글 좀 퍼가겠습니다.