프로그래머 게시판 계속 눈팅만 하다가 처음으로 질문 남기네요 ㅎㅎ <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">몇년동안 Processing(JAVA)만 사용하다 최근에 OpenFrameworks 를 공부하는 학생입니다.</span></div> <div><span style="font-size:9pt;line-height:1.5;">JAVA에서는 2D array를 사용할때 그냥</span></div> <div><span style="font-size:9pt;line-height:1.5;"><br></span></div> <div><span style="font-size:9pt;line-height:1.5;">ArrayList [][] table = new AraayList[column size][row size];</span></div> <div><span style="font-size:9pt;line-height:1.5;">table[0][0] = new ArrayList(data type or value); //[0,0] 에 데이터/값 입력</span></div> <div>혹은</div> <div>List<List<dataType>> table = new ArrayList<List<dataType>>();</div> <div>이런식으로 declare한후 사용을 하면 되는것으로 알고있는데요.</div> <div><br></div> <div>C++에서는 JAVA처럼 간단하게 declare를 할수가 없더군요.</div> <div>구글링 결과</div> <div><br></div> <div>vector< vector <dataType> > table;</div> <div>table.resize(col size);</div> <div>for (int i=0; i <col size; i++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>table[i].resize(row size);</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>for(int j = 0; j<rowsize; j++){</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>table[i][j] = new dataType();</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>}</div> <div>} </div> <div><br></div> <div>혹은</div> <div>2d 포인터 array</div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;">Table **mytable; mytable = </span><span class="hljs-keyword" style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;">new</span><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;"> Table*[size]; </span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;">이런식으로 접근해야 하는것으로 알고있는데요.</span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;"><br></span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;">제가 궁금한부분은 2d vector 와 2d pointer array 의 장단점이 무었인지, 어떨때 vector를 쓰고 어떨때 pointer를 써야하는지 궁금합니다.</span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;">여기저기 돌아다니며 알아본 바로는 vector 는 instances를 담을수 없기때문에 레퍼런스 혹은 포인터를 값으로 넣어줘야하고</span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;">pointer는 그냥 메모리만 확보해놓은것이기에 좀더 유기적으로 사용할수있는것이라고 하는데, 그럼 포인터 array 안에 base & sub class의 instance 를</span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;">섞어서 담을수도 있는지 궁금합니다.</span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;"><br></span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;font-size:9pt;">아 그리고, 실질적으로 포인터/레퍼런스/디레퍼런스 를 사용하는 예시는 어디가면 찾을수 있을까요?</span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;">인터넷에는 너무 이론적이고, int나 string을 사용한 예시만 나와서 실질적으로 class 상속이나 서로다른 오브젝트들을 array에 넣는 방법같은건</span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;">잘 나오지 않아서 이해하기 어렵더라구요. </span></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;"><br></span></div> <div><div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;">c++를 제대로 이해햐지 못하고 질문하는점 죄송하지만, 넓은 아량으로 이해해주셨으면 좋겠습니다 ㅠ</span></div></div> <div><span style="line-height:16.65999984741211px;white-space:pre-wrap;background-color:#f8f8f8;"><br></span></div> <div><br></div> <div><span style="font-size:9pt;line-height:1.5;"> </span></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.