essential of c++ -> 17