'tr1'에 해당되는 글 1건

  1. 2008/03/12 귀차니스트 TR1 Array - boost 라이브러로 사용하는 방법 (1)

  흔히 말하는 프로그래밍의 기본이라는 C/C++을 하지 않아도 어떠한 언어를 하다보면 배열이라는 것을 배우게 됩니다. 그런데 아시다시피 C/C++ 에서 기본 배열을 사용하게 되면 길이를 비롯해서 불편함 점이 많습니다. 그래서 보통 사람들은 std::vector 를 사용하는 경향이 있는데요.
  boost 에 올라와있다 TR1 표준에 포함되는 것 중에는 Array 클래스가 존재합니다. 뭐 굳이 얘길 한다면 뭐라 말할 정도로 편리해 지지는 않았지만 해당 부분에 있어서 기타 STL 알고리즘과 호환되게 하는 면이 중점적으로 다루어진것 같았습니다.

Array.cpp (Language : cpp)
  1. #include <iostream>
  2. #include <boost/tr1/array.hpp>
  3. int main( int argc, char **argv )
  4. {
  5.     boost::array<int,4> a = { 1, 2, 3 };
  6.     std::copy( a.begin(), a.end(), std::ostream_iterator< int >( std::cout, "\r\n" ) );
  7.     return 0;
  8. }

  사용법은 다음과 같습니다. 헤더는 위의 boost 라이브러리가 프로젝트 인클루드 폴더에 포함되어있다는 가정하에 컴파일이 가능하며, 이 것이 begin, end 같은 부분으로 많이 편리해졌다는 것을 알 수 있습니다. 선언에서는 데이터 형태와, 크기를 넣어주어야 하죠. 물론 실질적으로 그냥 사용할 때는 [] 리터럴을 사용하는 배열과 별 다른점을 느끼지 못할지도 모르겠지만 STL 상에서 traits 들과 결합하여 사용한다면 사용법에 있어서 많은 편리함이 생길것 같습니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/03/12 21:53 2008/03/12 21:53

댓글을 달아 주세요

  1. 구리구리 2009/02/23 14:47  댓글주소  수정/삭제  댓글쓰기

    잘 정리해놓으셨네요 글 좀 퍼가겠습니다.