Some C++ uitls