cpp and shell