dynamic_cast const_cast reinterpret_cast static_cast A가 B의 superclass일 때 A* a; B* b = new B(); a = (A *)b; 이거는 dynamic_cast(b);와 같음 dynamic_cast는 safe함. 서브->슈퍼 캐스팅은 상관 없지만 슈퍼->서브 캐스팅은, C style로 캐스팅하면 캐스팅이 되긴 하지만, 참조 할 수 없는 멤버를 참조 하려 하면 런타임 에러가 발생함. dynamic_cast를 이용하면 서브->슈퍼 일때만 캐스팅 하고 아닐 대는 null을 참조함. 따라서 null 체크를 통해 런타임 에러를 방지할 수 있다. 덧, 포인터로 선언한 클래스 일때만 된다. Parent *p1 = new Child; Parent *p2 = ..
Service에서 Activity를 띄우는 순간에 현재 Activity가 속해 있는 Application이 만약 실행 돼 있었다면, 해당 화면에 보이는 Application의 Activity가 뜬 다음에 그 위로 호출한 Activity가 올라온다.. 즉..Activity가 자기 Application의 스택을 다 가져온다... 뒤로 가기 버튼을 누르면 돌아가는 이전 스택이란 녀석이.. 미리 Application에서 띄워져있던 Activity이다. Application이 실행되어 있지 않은 상태라면 호출한 Activity만 뜨던데.. 어떻게 처리해야할지 난감하다.. 거의 일주일째 삽질 중 인거같다 -.- ----------------------------------------------------------..
안드로이드로 Google Map을 다루면서, 맵에서 다루는 메모리가 넘치길래 onStop에서 메모리를 다 해제해 주었다.(자바는 =null 해주면 알아서 가비지 컬렉터가 해제해간다.) 근데 문제는 전화가 온걸 받은 뒤 다시 맵 화면으로 돌아가면~ 두둥~ 에러가 나는 것이었다. 홈 버튼을 눌러 메인 페이지에 다녀올 때도 마찬가지였다. 문제는 onResume에 있었다. 난 그냥 막연히 뒤로 갔다 돌아오면 onCreate가 다시 실행될 줄 알았는데, onCreate같은건 실행될 기미조차 없고, 그냥 onResume만 호출된다. 내가 기존에 맵에 사용되는 메모리를 다 onCreate에서 처리해 줬기 때문에, onStop으로 인해 해제된 메모리를 다시 불러주어야 했다. 액티비티 호출 시 호출 순서가 onCreat..
맵의 오버레이를 동적으로 로딩하는데 ItemizedOverlay의 getIndexToDraw에서 자꾸만 ArrayIndexOutOfBoundsException이 났다.. 보니까 오버레이의 추가와 삭제가 쓰레드를 이용하여 동시에 진행되면서, 있지도 않은 Array의 Index를 참조하면서 나는 것 같았다.. 아오... 그냥 삭제를 다 한담에 접근을 하던지.. 삭제하면서 어디선 add하고 그러니까 계속 저 에러가 나지.. ArrayList는 thread-safe하지 않기 때문에 참.. 슬프다 ㅠ_ㅠ 수 시간의 삽질 끝에 드디어 익셉션을 잡아냈다.. 플밍 경력이 오래된 사람이라면 쉽게 잡을 수 있는 부분이었을텐데.. 난 도대체 몇시간이나 소모한건지.... 여튼 잡게 돼서 너무 좋았음.
CButton을 상속 받은 CMonitorButton을 하나 만들어서 버튼을 동적 생성 하기 위한 프로그램을 구현했다. CMonitorButton에선 오너 드로를 위해 DrawItem을 호출했고, OnBnClicked를 오버라이딩해서 자신의 nID값을 nSelectedMonitor 변수에 리턴해주었다. CMonitorButton을 생성하기 위해 다음과 같은 코드를 구현하였는데 for(int i = 0;i Create(strMonitorNum,WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON|BS_OWNERDRAW,rtMonitor[i], this,i); } 마지막 인자인nI..
- Total
- Today
- Yesterday
- source
- 드라이버
- android
- algorithm
- 프로그래밍
- API
- java
- NDK
- MFC
- db
- driver
- winapi
- AWS
- jni
- it
- linux
- 리눅스
- Quiz
- C++
- gcc
- jni강좌
- C
- Python
- 음악
- kering
- Troubleshooting
- Visual C++
- database
- 안드로이드
- Cloud
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |