Информация об изменениях

Сообщение Re[11]: Можно ли сделать универсальный шаблон для разных ком от 20.01.2023 13:49

Изменено 20.01.2023 14:17 Videoman

Re[11]: Можно ли сделать универсальный шаблон для разных комб
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Еще раз: "довести до компилятора" — это объяснить нужные правила непосредственно ему. Когда для типа указывается модификатор unsigned или const, для числа — суффикс "длинное", для строки — префикс "широкая", то это оно самое. Когда используются побочные эффекты механизма, придуманного совсем для другого, просто потому, что "это работает" — это костыль. И очень удручает, что парадигма языка, предостерегая от чрезмерного использования побочных эффектов в "базовом" наборе функций, столь же чрезмерно поощряет это в шаблонном механизме, лишая язык более адекватных способов управления компиляцией.


Я написал на "побочке", так как ты не соизволил сообщить какую версию версию компилятора С++ используешь. Из опыта общения предположил, что самую самую древнюю, которая еще как-то работает. В современном С++ для всего этого есть Concept-ы, где все уже пишется на адекватном, специально приспособленном для этого языке, всё как ты хочешь. В любом случае, так как ты работаешь с типами, это будет вызов мета-функции, хоть здесь, хоть там.
Re[11]: Можно ли сделать универсальный шаблон для разных ком
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Еще раз: "довести до компилятора" — это объяснить нужные правила непосредственно ему. Когда для типа указывается модификатор unsigned или const, для числа — суффикс "длинное", для строки — префикс "широкая", то это оно самое. Когда используются побочные эффекты механизма, придуманного совсем для другого, просто потому, что "это работает" — это костыль. И очень удручает, что парадигма языка, предостерегая от чрезмерного использования побочных эффектов в "базовом" наборе функций, столь же чрезмерно поощряет это в шаблонном механизме, лишая язык более адекватных способов управления компиляцией.


Я написал на "побочке", так как ты не соизволил сообщить какую версию компилятора С++ используешь. Из опыта общения предположил, что самую самую древнюю, которая еще как-то работает. В современном С++ для всего этого есть Concept-ы, где все уже пишется на адекватном, специально приспособленном для этого языке, всё как ты хочешь. В любом случае, так как ты работаешь с типами, это будет вызов мета-функции, хоть здесь, хоть там.