update C++ template