use C++ auto