170 похожих чатов

Друзья. Возможно ли создать шаблонный класс, параметризируемый неопределенным количеством указателей

на поля класса неизвестных типов?

Ожидается вот такое инстанцирование
c<&A::i, &A::j> a();
c<&B::i, &B::j, &B::k> b();

Сложность вызывает необходимость с одной стороны объявить variadic на типы указателей, а с другой - на них самих. То есть, кажется, что должно быть так:


template<class T, class ... U, U T::* ... M> class c{}


Но так нельзя из за двух троеточий.

1 ответов

6 просмотров

Вообще, сложность решения во многом зависит от выбранного стандарта. Как предложено выше, на 20 всё относительно просто. На C++17 – по-сложнее: придётся переписать под SFINAE и частичную специализацию. В C++14/11 основным инструментом для реализации задуманного будет, вероятно страдание на грани экзистенциального и самоистязание

Похожие вопросы

Обсуждают сегодня

Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
why some site like google has separate page for username/email and password?
Mr Thieves
21
Может быть небольшое отступление, но я тут решил обратить внимание на то, сколько весит хелловорлд на с++... Зачем он весит почти 250 Кб? У меня оконное приложение на фасме ве...
The Bird of Hermes
13
What do you wanna learn?
Malware ( DM = BLOCK )
12
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Всем привет. Программно добавляю документы в таблицу site_content в конце очищаю кеш $modx->clearCache(); Но документы появляются в дереве только после того как редактирую ...
Владимир
8
Подскажите, сейчас что то есть (JS модуль какой-нибудь), что можно использовать для: 1) переваривания javascript codа из html fileа, т.е. разбивки, на переменные, команды, бло...
Iar De
32
Мне интересно, скорее людей здесь используют D, Rust, C/C++ для решения реальных прикладных задач за деньги?)
Evil Satanson
43
кто поможет крякнуть чит? (реверс инжиринг) чтобы разблокировать премиум версию
Mёdkinson Medvezhkin
40
какие клиентские датасеты в лазаре умеют объединяться в master-detail? нужно забрать на клиент запись из одной таблицы и выборку из другой связанной один-ко-многим, отредактир...
Igor
19
Карта сайта