Purpose-post built for 과 while 이 무슨 차이가 있을까 곰곰히 생각하다가, 경험을 통해 몇가지를 정리 할 수 있어, 이렇게 글로 남기게 되었다. - 익필 Content 문법 공부를 하면 알겠지만, loop를 만들기 위해선 대표적으로 for 과 while을 사용 한다. do while 도 있지만, 이건 논외이다.(역활이 확실히 구분 되므로) 코드를 리뷰하는 내 입장에서 오늘 이런 경험을 하게 되었다. 1. while 이니까, "어떻게 루프를 빠저 나가지?" while 구성은 조건 판별 구역과 루프 구역으로 나뉘어져 있다. while (조건문) { 루프 구역 } 판별 구역 외에서 어디부터 어디까지 루프를 돌리라고 명시적으로 나타내지 못하기 때문에, while은 loop 밖에서 loop..
연구실 검색 결과
Purpose-built post 이 포스트는 비쥬얼 스튜디오 2005/2008 을 사용 하는 중 발생 하는 버그를 우회시키는 방법을 알리고자 만들었다. 나는 이 버그로 인해 자그마치 2시간 동안 ... - 익필 Content 이 버그는 비쥬얼 스튜디오 2005/2008에서 MFC로 다이얼로그에 이벤트를 추가할 때, 자동으로 코드가 생성되지 않는 버그 이다. 이때 다음과 같은 에러 메시지가 팝업 메세지로 뜬다. Add/Remove operation is impossible, because the code element (null) is read only 꼭 자동 코드 생성을 사용하지 않고, 수동으로 하여도 되지만, 불편하다. 그러므로 우회 하는 방법 4가지를 정리 한다. 1. 우회 방법 1 먼저 비쥬얼 ..
Introduction 코드 리뷰하다가, 가끔 만나는 포인터 접근, 이러한 접근을 잘못하면 크래쉬가 나기 쉽다. 이러한 사실을 알고 있음에도, 포인터 접근에 대한 계산이 가끔 잘 안될 때가 있다. 오늘 그러한 계산이 잘 안되는 코드를 발견하여 정리해 둔다. Content 크다 와 작다는 같다 보다 왜 더 이해 하기 어려울까? 우선 작다 또는 크다의 의미를 if 문을 통해 생각해 보면 다음과 같다. if ( 1 > 2 ) 는 거짓이다. 왜냐하면 1이 2보다 작은데 크다고 했기 때문이다. if ( 2 > 2 ) 는 거짓이다. 왜냐하면 2는 2보다 크지는 않기 때문이다. if ( 3 > 2 ) 는 참이다. 왜냐하면 3은 2보다 더 크기 때문이다. 그러므로 크다 또는 작다의 반대는 >= 이거나 limit_ind..
Introduction 코드 리뷰를 하다가 if문이 많을 수록 코드 분석을 더 힘들게 한다는 사실을 알게 되었다. 그러던 중 if문을 고의로 없애버리는 코드를 작성하기 시작했는데, 문득, 성능도 더 좋을까? 라고 생각하는 찰나에 테스트 코드를 만들고 테스트 해보았다. content 하는 일은 같으나, 한쪽은 if문이 있고, 한쪽은 if문이 없다. 하는 일은 현재 나이를 저장한 변수가 초기화 나이까지 되었을 때, 0으로 리셋 해 주는 일이다. #include #include int main( void ) { boost::timer t0; const int reset_age = 100; int my_age = 0; int loop_count = 1000000000; t0.restart(); // case 1..
시작하기에 앞서 학생시절 Effective STL 에서, "알고리즘이 더 좋다" 라는 내용을 보고, 그대로 받아 들여서, 사용하다가, 동기 중 한명이 "모하러 알고리즘을 써 어차피 똑같은거 아니야?" 라고 물었을 때, "보다 더 직관적이잖아." 라고 대답을 했던것으로 기억을 한다. 하지만 제시된 예라든지, 논리적으로 설명을 하지 못해서일까, 팀프로젝트를 진행 할 때, 알고리즘을 사용 하는게 힘들게 되었다. 8개월 정도가 지나고 나서, 그 동안 다른 사람들이 짠 코드 리뷰를 하는 순간 내 직관력은 "확실이 더 좋다." 라고 결론을 냈다. 이번 포스팅은 왜 더 좋은지에 대한 증명이다. 나와있는 예는 "한 타입의 객체를 100개 담은 vector에서 특정 값을 찾고, 어떤 일을 수행하고, 지우는 작업"이다. ..
최근댓글