multi_array는 다차원 정적배열을 지원하는 클래스이다.
이를 이용하는 다른 방법은 std::tr1::array 를 중첩해서 사용 하는 방법이 있는데, 이것을 좀 더 편하게 확장했다고 보면 되겠다.

std::tr::array에 관한 내용은 아래 링크를 참조해라
http://lunapiece.net/Article/476

 

아래는 multi_array와 중첩된 array에 관한 예제코드이다. 이것도 별 내용이 없다보니 그냥 코드 보여주는걸로 끝낸다.

 

#include "stdafx.h"

#include <array>

#include <multi_array.hpp>

#include <cstdio>

 

using namespace boost;

 

int _tmain(int argc, _TCHAR* argv[])

{

        //TR1Array를이용한Static Array of Array 구현

        printf("std::tr1::array<std::tr1::array<int,20>, 10>\n");

        std::tr1::array<std::tr1::array<int,20>, 10> Stdarr; //int[10][20] 선언

        //10*20인데선언시에는숫자가반대로씌여지므로헤깔린다!

        for (int i = 0; i < 10; ++i)

        {

               for(int j = 0;j < 20; ++j)

               {

                       Stdarr[i][j] = 1;

               }

        }

 

        //boost::multi_array

        printf("multi_array 사용\n");

        multi_array<int, 2> MultiArray(extents[10][20]);

        //int2차원배열[10][20]을선언. 템플릿인자가Type 과차원을나타냄.

        for (int i = 0; i < 10 ; ++i)

        {

               for(int j = 0;j < 20; ++j)

               {

                       MultiArray[i][j] = 2;

               }

        }

       

        printf("multi_array range 조정\n");

        //Pascal 처럼배열의인덱스를변형할수있는기능을제공한다.

        typedef multi_array<int, 2>::extent_range range; //이름이너무길어서ㅡ.

        multi_array<int, 2> MultiArray2(extents[range(1,4)][range(20,40)]);

        //Pascal 과비교하면Array [1..4-1] of Array[20..40-1] of Integer 라고할수있겠다.

        for (int i = 1; i < 4 ; ++i)

        {

               for(int j = 20;j < 40; ++j)

               {

                       MultiArray2[i][j] = 2;

               }

        }

        return 0;

}

 

 

 

조회 수 :
14895
등록일 :
2009.05.11
14:52:55 (*.149.217.155)
엮인글 :
http://www.lunapiece.net/3797/cd8/trackback
게시글 주소 :
http://www.lunapiece.net/3797
문서 첨부 제한 : 0Byte/ 10.00MB
파일 제한 크기 : 10.00MB (허용한 확장자만 첨부할 수 있습니다.(관리자는 제외) : *.*)
옵션 :
:
:
:
:
List of Articles
번호 제목 글쓴이 날짜 조회 수
13 [Boost 살펴보기] 7. String Algorithm2 Lyn 2009-05-20 14373
12 [Boost 살펴보기] 6. String Algorithm1 Lyn 2009-05-12 15374
11 [Boost 살펴보기] 5. lexical_cast file Lyn 2009-05-12 15660
» [Boost 살펴보기] 4. multi_array Lyn 2009-05-11 14895
9 [Boost 살펴보기] 3. timer Lyn 2009-05-11 14905
8 [Boost 살펴보기] 2. any Lyn 2009-05-11 13844
7 [Boost 살펴보기] 1. pool file Lyn 2009-05-11 14454
6 프로그래밍 대회 알고리즘 파트 문제 [2] secret Lyn 2008-11-21 15485
5 컨테이너가 파괴될 때 소유한 객체 자동으로 파괴하기 Lyn 2008-10-22 13208
4 [TR1 살펴보기] 3. UnOrdered Containers Lyn 2008-10-05 14315
3 [TR1 살펴보기] 2. Array Lyn 2008-10-05 14255
2 [TR1 살펴보기] 1. Random Lyn 2008-10-05 14695
1 Delphi 2009 Generic 살펴보기 [1] Lyn 2008-09-29 12695

SITE LOGIN :)