본문 바로가기

programing150

Effective C++ 1. C++에 왔으면 C++의 법을 따릅시다. [항목 1] C++를 언어들의 연합체로 바라보는 안목은 필수* 다중 패러다임 프로그래밍 언어= 절차적 프로그래밍 + 객체 지향 + 함수식 + 일반화 + 메타프로그래밍 + etc...= C + 객체 지향 + 템플릿 + STLcf. C++를 사용한 효과적인 프로그래밍 규칙은 경우에 따라 달라집니다. 그 경우란, 바로 C++의 어떤 부분을 사용하느냐 입니다. [항목 2] #define을 쓰려거든 const, enum, inlinecf. 단순한 상수를 쓸 때는, #define보다 const 객체 혹은 enum을 우선 생각합시다.cf. 함수처럼 쓰이는 매크로를 만들려면, #define 매크로보다 인라인 함수를 우선 생각합시다. [항목 3] 낌새만 보이면 const를 .. 2016. 12. 4.
움직이는 오브젝트의 순서 정하고 추월 체크 하기 1. 가장 단순하게... 자신을 기준으로 앞에 있는지 뒤에 있는지를 판단하여 순서를 정함 -> 두 차가 방향이 엇갈릴 경우 누가 앞에 있고 뒤에 있는지 판단하기 힘듦 2. 추월에 대하여 한 차가 다른 차를 추월 할 경우 그 사이에 있는 차를 추월 해야 하므로 앞 뒤로 가장 가까운 차만 체크함 3. 한 프레임 사이에 여러대를 추월할 가능성이 있으므로 추월시 그 다음 차에 대하여 앞 뒤 체크를 계속 함 3. 만약 순서가 이미 정해져 있는데 방향이 엇갈려 있는 경우, 추월하기 위해선 같은 도로에서 같은 방향으로 추월 해야 하므로 추월 체크를 하지 않는다. 4. 시작시 순서가 정해져 있지 않으면... 임의로 정하거나, 코스에 충돌 객체를 놓아서 정하거나... -> 같은 방향을 가리키더라도 S자 코스의 경우 뒷차.. 2016. 12. 1.
메모리 누수 확인 #include #ifdef _DEBUG #define new new(_CLIENT_BLOCK,__FILE__,__LINE__) #endif ... void main(){_CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);} 2016. 10. 12.
auto 참조 http://blog.naver.com/kyed203/220068115571 - 정적 언어 vs 동적 언어> 정적 언어 : 대체로 컴파일 언어, 변수 type을 선언이나 정의할 때 명시적으로 지정> 동적 언어 : 대체로 스크립트 언어, 변수 type을 명시적으로 지정할 필요가 없음 - C#의 var> C#은 정적 언어이지만 var 키워드로 명시적으로 지정하지 않아도 됨> 단, 동적 언어와 다르게 변수의 type을 컴파일 할 때 결정함 - auto> 명시적으로 type을 지정하지 않아도 됨> 변수를 정의할 때 명시적으로 type을 지정하지 않고 컴파일 타임 때 결정> 클래스 정의할 때도, STL에서도 사용 가능> 코딩이 간편해지고, 코드 가독성이 좋아짐 2016. 10. 12.