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