Size: a a a

cxx.Дискуссионная

2020 March 26

FF

Flex Ferrum in cxx.Дискуссионная
Roy Mustang
а в С++ можно проверить класс на наличие метода?
Обычно с ответа на этот вопрос начинается много интересного, много матюгов и "ну кто придумал это грёбанное SFINAE!"
Но, если ты - счастливый обладатель компилятора с поддержкой концептов - всё может оказаться сильно проще. :D
источник

O

Ofee in cxx.Дискуссионная
Flex Ferrum
Обычно с ответа на этот вопрос начинается много интересного, много матюгов и "ну кто придумал это грёбанное SFINAE!"
Но, если ты - счастливый обладатель компилятора с поддержкой концептов - всё может оказаться сильно проще. :D
Ни концепты, не SFINAE (в чистом виде) не помогают же в ответе на этот вопрос)
источник

TS

Till Schneider in cxx.Дискуссионная
Ofee
Ни концепты, не SFINAE (в чистом виде) не помогают же в ответе на этот вопрос)
помогают же
источник

O

Ofee in cxx.Дискуссионная
*Если нам неизвестны аргументы
источник

O

Ofee in cxx.Дискуссионная
Till Schneider
помогают же
источник

TS

Till Schneider in cxx.Дискуссионная
Ofee
*Если нам неизвестны аргументы
лупхолим ?! =)
источник

TS

Till Schneider in cxx.Дискуссионная
а вообще где-то я видел хак
источник

O

Ofee in cxx.Дискуссионная
Till Schneider
лупхолим ?! =)
Не, можно без них, но принцип такой же, как в magic_get, но с точностью наоборот
источник

O

Ofee in cxx.Дискуссионная
Till Schneider
а вообще где-то я видел хак
Я делал)
источник

/dev/urandon ¯\_(ツ)_... in cxx.Дискуссионная
Tony Werner
Почему говно?
Потому что то, что написано — не синглтон
источник

O

Ofee in cxx.Дискуссионная
Till Schneider
а вообще где-то я видел хак
Мой код сломался на некопируемом и неперемещаемом объекте, который мы принимаем по значению :D
источник

O

Ofee in cxx.Дискуссионная
Ofee
Мой код сломался на некопируемом и неперемещаемом объекте, который мы принимаем по значению :D
Сколько извращений-то дозволено языком...
источник

TS

Till Schneider in cxx.Дискуссионная
Ofee
Мой код сломался на некопируемом и неперемещаемом объекте, который мы принимаем по значению :D
мне чот кажется что проверить наличие метода класса все же можно
источник

TS

Till Schneider in cxx.Дискуссионная
что-нибудь намудрить с mem function pointer мб
источник

TS

Till Schneider in cxx.Дискуссионная
хз, у меня голова последнее время не очень варит
источник

FF

Flex Ferrum in cxx.Дискуссионная
Till Schneider
мне чот кажется что проверить наличие метода класса все же можно
Не зная точной сигнатуры - почти нереально.
источник

O

Ofee in cxx.Дискуссионная
Till Schneider
что-нибудь намудрить с mem function pointer мб
Вриант на наследовании кто-то предлагал, но ломается на слове final. У меня есть сильно более грязный (но, может, надёжный) способ
источник

O

Ofee in cxx.Дискуссионная
Класс singleton, принимаемый по значению, а не ссылке — отстрел сразу всех 8 ног
источник

O

Ofee in cxx.Дискуссионная
Ofee
Класс singleton, принимаемый по значению, а не ссылке — отстрел сразу всех 8 ног
Иногда работает, иногда нет
источник

O

Ofee in cxx.Дискуссионная
А на лупхолах мы уже можем даже запомнить весь список  перегрузок и аргументов :)
источник