Ничто не защитит от ручной декомпиляции, специалист все равно разберется. Для автоматической же C++ существенно лучше в этом плане — бинарник почти не хранит метаинформации о коде, соответственно и разобрать программе его сложнее.
Для освежения в памяти языка, стандартных приемов и стандартных же подводных камней — книгу Страуструпа «Язык программирования С++», чуть более интерсно и глубоко: Александреску — «Современное проектирование на C++», если охота попробовать понять, как язык до такого докатился: «Дизайн и эволюция C++» Страуструпа же.