Сообщение Re: Почему в C# не любят кастомные операторы? от 20.01.2023 13:34
Изменено 20.01.2023 13:42 Serginio1
Re: Почему в C# не любят кастомные операторы?
Здравствуйте, Shmj, Вы писали:
S>Вот в С++ любят. И ведь приятнее же написать
S>stringBuilder += "test" чем stringBuilder.Append("test") ?
S>Вроде бы и поддерживаются на уровне кода, но не пошло... Почему?
В С++ шаблоны это генерация текста. А так как хочется, что бы разные типы обрабатывали операторы правильно вот и придумали через перегрузку операторов.
У них например >> хрен поймешь что в итоге делает.
В C# кстати сделали аналог через Поддержка универсальной математики
There are several language features that enable generic math support:
S>Вот в С++ любят. И ведь приятнее же написать
S>stringBuilder += "test" чем stringBuilder.Append("test") ?
S>Вроде бы и поддерживаются на уровне кода, но не пошло... Почему?
В С++ шаблоны это генерация текста. А так как хочется, что бы разные типы обрабатывали операторы правильно вот и придумали через перегрузку операторов.
У них например >> хрен поймешь что в итоге делает.
В C# кстати сделали аналог через Поддержка универсальной математики
There are several language features that enable generic math support:
static virtual members in interfaces
checked user defined operators
relaxed shift operators
unsigned right-shift operator
Re: Почему в C# не любят кастомные операторы?
Здравствуйте, Shmj, Вы писали:
S>Вот в С++ любят. И ведь приятнее же написать
S>stringBuilder += "test" чем stringBuilder.Append("test") ?
S>Вроде бы и поддерживаются на уровне кода, но не пошло... Почему?
В С++ шаблоны это генерация текста. А так как хочется, что бы разные типы обрабатывали операторы правильно вот и придумали через перегрузку операторов.
При этом операторы инлайнятся.
У них например >> хрен поймешь что в итоге делает.
В C# кстати сделали аналог через Поддержка универсальной математики
There are several language features that enable generic math support:
S>Вот в С++ любят. И ведь приятнее же написать
S>stringBuilder += "test" чем stringBuilder.Append("test") ?
S>Вроде бы и поддерживаются на уровне кода, но не пошло... Почему?
В С++ шаблоны это генерация текста. А так как хочется, что бы разные типы обрабатывали операторы правильно вот и придумали через перегрузку операторов.
При этом операторы инлайнятся.
У них например >> хрен поймешь что в итоге делает.
В C# кстати сделали аналог через Поддержка универсальной математики
There are several language features that enable generic math support:
static virtual members in interfaces
checked user defined operators
relaxed shift operators
unsigned right-shift operator