월간 보관물: 2014 10월

[logcat] logcat에서 특정 문자열 포함된 로그만 보기

Xcode로 cocos2d-x 개발하면서 log를 볼 일이 있는데,
이클립스를 사용하지 않다보니 안드로이드 로그 보기가 불편하다.
이 때 adb에 있는 logcat으로 확인할 수 있는데, 잡다한 로그가 다 표시되기 때문에
내가 원하는 로그를 찾기가 쉽지 않다.
이럴 때 grep 명령어를 써주면 내가 원하는 문자만 포함된 로그를 볼 수 있다.
ex) ‘cocos2d’가 포함된 로그를 보고 싶을 때
$adb logcat | grep cocos2d
이렇게 하면 된다. 생각보다 쉬운데, 이상하게 자꾸 까먹어서 포스팅.

[C++] C++11의 override 키워드

cocos2d-x 3.0 이상부터 C++11이 적용되어서 나름의 신세계를 경험하고 있다.
auto, lambda 등이 있지만, 가장 많이 쓰게 되는 건 override 키워드인 것 같다.
상속받은 클래스에서 상위클래스의 함수를 override 할 때 override 키워드를 붙여주면 두 가지의 장점이 있다.

1. 어떤 함수가 override한 함수인지 쉽게 알아볼 수 있다.
– 그냥 선언되어 있을 경우 이 함수가 override 한 함수인지, 이 클래스에서 만들어진 함수인지는 쉽게 알 방법이 없다. 하지만 override 키워드를 붙여두면 나중에 코드를 읽을 때 쉽게 파악할 수 있다.

2. 상위 클래스에 없는 함수를 체크할 수 있다.
– 이 케이스가 더 와닿는 부분인데, 함수를 override 하기 위해 이 키워드를 붙여두면 만약에 상위 클래스에 없는 함수일 경우 컴파일 에러가 발생한다. 이를 통해 override 할 때 함수명에 오타를 내는 경우도 없앨 수 있고, 상위 클래스에 있는 줄 알았는데 막상 없는 함수를 override 한답시고 사용하는 경우를 줄일 수 있다.

C++11에서는 상위클래스의 함수를 override 할 경우 이 키워드를 꼭 붙여주도록 하자.