Включение определенных параметров шаблона на основе Аргументов для пользователя, предоставленных пользователями,C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Включение определенных параметров шаблона на основе Аргументов для пользователя, предоставленных пользователями,

Сообщение Anonymous »

Рассмотрим следующий шаблон класса: < /p>

Код: Выделить всё

template
class Foo {
< /code>
, где что-то будет определен как < /p>
class SomeEnum { NOT_DYNAMIC, DYNAMIC };
В этом классе есть частная std :: array , но на основе значения, передаваемого пользователем, я хотел бы вместо этого использовать std :: vector . Например, если пользователь проходит AnyEnum :: Dynamic , я бы использовал std :: vector вместо std :: array . Это будет реализовано через std :: condental_t и [[no_unique_address]] .
Мне интересно, есть ли способ «удалить» не Тип шаблона Параметр s , если пользователь передал anomeenum :: dynamic . Это означает, что пользователь типа «размер», когда он не нужен, потому что базовым контиером является std :: vector . Между тем, мне нужно сохранить параметр s в случае, если пользователь не передает ничего в некоторое время , потому что std :: array тоже требует размера.
возможно ли с некоторым обманом, а если нет, то как я решу? li> Использование std :: condental_t, как объяснено, < /li>
[*] Использование наследования или использование специализации (еще не пытается или не думал) < /li>
Полиморфизм не является опция


Подробнее здесь: https://stackoverflow.com/questions/746 ... -arguments
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»