cpp advance