check .cpp for retain()/release() pair

file: check_retain.sh

#!/bin/sh

FILES=`find . -type f | grep "\.cpp"`

for f in $FILES
do
    RETAIN_COUNT=`grep -c "\

How to use:

$ cd Classes
$ check_retain

## FILE "./Scenes/LayerPlaySurvivalMode.cpp" WARNING: retain() = 3, release() = 2
29:    m_session->retain();
32:    m_player->retain();
322:    m_activeProperty->retain();
---------------- release ----------------
90:    m_session->release();
376:    m_activeProperty->release();

Ok, found miss m_player~~>release.
——
中文说明:
检查 .cpp 文件中 retain 和 release 的出现次数是否一致。根据输出结果,可以更容易发现遗漏的 release 方法调用。例如上面的例子中调用了 m_player~~>retian(),却没有对应的 m_player->release()。
当然,很多时候 retain() 和 release() 的出现次数并不一样,所以不能认为输出结果就一定代表程序有问题。

非常棒的重要参考

very good script,but it seems cannot check CC_SAFE_RELEASE CC_SAFE_RETAIN:)