some useful tool for cpp