E D R , A S I H C RSS

Full text search for "Array1D"

Array1D


Search BackLinks only
Display context of search results
Case-sensitive searching
  • MoreEffectiveC++/Techniques2of3 . . . . 11 matches
         같은 방식을 Array2D에 operaotr[]가 새로운 객체인, Array1D를 반환시키는 방식으로 풀어나가 보자. 원래 이차원 배열의 안에 존재하는, 반환되는 인자 Array1D에서 operator[]를 오버로드할수 있다.
          // 2번째 차원에 위치하는 Array1D
          class Array1D {
          // 위의 1차원 배열 객체 Array1D
          Array1D operator[](int index);
          const Array1D operator[](int index) const;
         여기에서 data[3]은 Array1D를 이야기 하는 것이고, operator[]는 두번째 차원에 위치 (3,6)에 있는 float를 호출한다.
         Array2D 클래스의 클라이언트는 Array1D클래스에 관해서 신경 쓸필요 없다. 이러한 객체는 1차원의 배열에대한 객체의 표준이지만, 개념적으로는 존재하지 않는다. 이것들을 실제로 쓰는 그러한 클라이언트들은 이차원 배열을 정확히 프로그램 한다. C++의 엉뚱한 짓을 만족시키기 위하여, 일차원 배열을 다루는데 문법적으로 정확히 구현한 Array2D의 클라이어트들이 걱정하는 일이 없다.
         Array2D의 클라이언트에 의해 사용되어지는 개념적인 모델의 부제로, Array1D 각각의 객체는 1차원 배열을 의미한다. 다른 객체를 위해 존재하는 객체들을 보통 '''''proxy object'''''라고 불리이고, oproxy객체는 proxy class에 의해 호출된다. proxy 클래스 or 의 인스턴스는 일차원 배열의 근간이 되는데, 개념적으로 존재하지 않은다. (proxy 객체를 위한 기술과 클래스는 전체에서 동떨어진 모습이다.; 그러한 클래스의 객체 역시 때로 ''surrogate''(대리자) 라고도 불릴 것이다.
         마지막으로 진짜 객체에 대한 일의 대행은 종종 문법의 제한을 가지고 온다. 왜냐하면 프록시 객체가 실제 객체를 완전히 교체할만큼 능력을 가질수 없기 때문이다. 대로 프록시는 시스템의 디자인시 더 나쁜 선택을 가지고 온다. 하지만 많은 경우 프록시의 존제는 클라이언트에게 그 수행을 의식하게 하는 경우는 거의 없다. 예를 들어서 클라이언트는 이차원 배열의 예제에서 Array1D 객체의 주소를 원하는 클라이언트는 거의 없다. 그리고 ArrayIndex객체(Item 5참고)는 예상되는 다른 형태의 함수로 전달 될것이다. 많은 경우에 프록시는 진짜 객체의 수행을 대행한다. 그들을 적용할때, 아무일 없는건 거의 대부분이다.
Found 1 matching page out of 7540 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 0.2529 sec