[C] typeof с typeof_unqual к нам приходят
От: _NN_ www.nemerleweb.com
Дата: 29.09.22 15:01
Оценка:
Из C23
N2927 typeof

В LLVM: https://reviews.llvm.org/rG60727d856927383daf304fcf8f19fcc8ade828ad
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re: [C] typeof с typeof_unqual к нам приходят
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 30.09.22 16:30
Оценка: +1
Здравствуйте, _NN_, Вы писали:

_NN>Из C23

_NN>N2927 typeof

_NN>В LLVM: https://reviews.llvm.org/rG60727d856927383daf304fcf8f19fcc8ade828ad


Легким движением руки, брюки превращаются... брюки превращаются... превращаются брюки... C превращается в элегантные шорты C++

А если серьёзно, в чем отличия от decltype? (я особо не вчитывался )

ЗЫ Интересно, таки когда в сишечку подвезут классы и шаблоны?
Похоже, таки сишникам после скольки там лет? После пятидесяти, да? Начинает надоедать есть свой сишечный кактус
Маньяк Робокряк колесит по городу
Re[2]: [C] typeof с typeof_unqual к нам приходят
От: _NN_ www.nemerleweb.com
Дата: 30.09.22 19:12
Оценка:
Здравствуйте, Marty, Вы писали:

M>А если серьёзно, в чем отличия от decltype? (я особо не вчитывался )

decltype умеет возвращать ссылку.
В C такого понятия нет.

M>ЗЫ Интересно, таки когда в сишечку подвезут классы и шаблоны?

M>Похоже, таки сишникам после скольки там лет? После пятидесяти, да? Начинает надоедать есть свой сишечный кактус
Как только будет defer то будет почти плюсы.
Обобщения (_Generic), почти шаблону, уже есть.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[3]: [C] typeof с typeof_unqual к нам приходят
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 30.09.22 19:26
Оценка:
Здравствуйте, _NN_, Вы писали:

M>>А если серьёзно, в чем отличия от decltype? (я особо не вчитывался )

_NN>decltype умеет возвращать ссылку.
_NN>В C такого понятия нет.

Спс, это я заметил, думал, что-то еще, дальше было лень вчитываться


M>>ЗЫ Интересно, таки когда в сишечку подвезут классы и шаблоны?

M>>Похоже, таки сишникам после скольки там лет? После пятидесяти, да? Начинает надоедать есть свой сишечный кактус
_NN>Как только будет defer то будет почти плюсы.
_NN>Обобщения (_Generic), почти шаблону, уже есть.


Интересно, что ГлавПингвин говорит по этому поводу
Маньяк Робокряк колесит по городу
Re[4]: [C] typeof с typeof_unqual к нам приходят
От: CreatorCray  
Дата: 01.10.22 04:23
Оценка:
Здравствуйте, Marty, Вы писали:

M>Интересно, что ГлавПингвин говорит по этому поводу

Ему выкрутили яйца и заставили одобрить rust
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Re[4]: [C] typeof с typeof_unqual к нам приходят
От: Zhendos  
Дата: 01.10.22 10:11
Оценка:
Здравствуйте, Marty, Вы писали:

M>Здравствуйте, _NN_, Вы писали:



M>

M>Интересно, что ГлавПингвин говорит по этому поводу

Так в ядре десятелетиями используется typeof: https://elixir.bootlin.com/linux/latest/A/ident/typeof
в том числе и для написания контейнеров.
Притензия к C++ это много действий скрыто от пользователя,
а не то что там есть template.
Re[5]: [C] typeof с typeof_unqual к нам приходят
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 01.10.22 10:27
Оценка: +1
Здравствуйте, Zhendos, Вы писали:

Z>Притензия к C++ это много действий скрыто от пользователя,

Z>а не то что там есть template.

На C++ можно в любом стиле писать, в тч и так, что ничего скрыто не будет
Маньяк Робокряк колесит по городу
Re[5]: [C] typeof с typeof_unqual к нам приходят
От: _NN_ www.nemerleweb.com
Дата: 01.10.22 13:32
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>Здравствуйте, Marty, Вы писали:


M>>Здравствуйте, _NN_, Вы писали:



M>>

M>>Интересно, что ГлавПингвин говорит по этому поводу

Z>Так в ядре десятелетиями используется typeof: https://elixir.bootlin.com/linux/latest/A/ident/typeof

Z>в том числе и для написания контейнеров.
Так это расширение GCC: https://gcc.gnu.org/onlinedocs/gcc/Typeof.html
А теперь будет стандартным у всех компиляторов.

Z>Притензия к C++ это много действий скрыто от пользователя,

Z>а не то что там есть template.
Вот вам шаблоны (обобщения) в C:
Или это для вас не C ?
#define cbrt(X) _Generic((X), \
              long double: cbrtl, \
                  default: cbrt,  \
                    float: cbrtf  \
              )(X)

int main(void)
{
    double x = 8.0;
    const float y = 3.375;
    printf("cbrt(8.0) = %f\n", cbrt(x)); // selects the default cbrt
    printf("cbrtf(3.375) = %f\n", cbrt(y)); // converts const float to float,
                                            // then selects cbrtf
}
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.