Полагаю, что «непредсказуемый» означает «что-то в соответствии со стандартом, но отличное от того, что программист ожидает при написании кода», верно?
Полагаю, вы можете видеть из кода, где объекты создаются или копируются, даже если это не очевидно. Это может быть трудно понять, хотя.
Некоторые вещи реализуются (всеми?) Поставщиками компиляторов определенным образом, но это может быть сделано по-другому. Например, позднее связывание (иначе называемое вызовом перегруженного виртуального метода) обычно реализуется с использованием указателей на функции в фоновом режиме. Это может быть самый быстрый способ сделать это, но я полагаю, что это может быть сделано по-другому, и это было бы неожиданно. Я не знаю ни одного компилятора, хотя он делает это по-другому.
Многие вещи неожиданны в том смысле, что C ++ слишком сложен - вряд ли кто-нибудь понимает полный язык. Так что неожиданное также зависит от ваших знаний.