Вопросы с тегом «templates»

187
Аргументы шаблона по умолчанию для шаблонов функций

Почему аргументы шаблона по умолчанию разрешены только в шаблонах классов? Почему мы не можем определить тип по умолчанию в шаблоне функции-члена? Например: struct mycclass { template<class T=int> void mymember(T* vec) { // ... } }; Вместо этого C ++ заставляет использовать аргументы шаблона...

183
Перебирать имена и значения полей экземпляра модели в шаблоне

Я пытаюсь создать базовый шаблон для отображения значений полей выбранного экземпляра вместе с их именами. Думайте об этом как о стандартном выводе значений этого экземпляра в табличном формате с именем поля (особенно verbose_name, если оно указано в поле) в первом столбце и значением этого поля во...

181
Как получить доступ к элементу словаря в шаблоне Django?

Я хотел бы распечатать количество голосов, которые получил каждый выбор. У меня есть этот код в шаблоне: {% for choice in choices %} {{choice.choice}} - {{votes[choice.id]}} <br /> {% endfor %} votesэто просто словарь, в то время choicesкак это модельный объект. Это вызывает исключение с этим...

180
Значение по умолчанию для шаблона Angularjs, если Binding Null / Undefined (с фильтром)

У меня есть привязка шаблона, которая отображает атрибут модели под названием «дата», который является датой, с использованием фильтра даты Angular. <span class="gallery-date">{{gallery.date | date:'mediumDate'}}</span> Все идет нормально. Однако в данный момент, если в поле даты нет...

175
Как проверить, существует ли переменная в шаблоне FreeMarker?

У меня есть шаблон Freemarker, который содержит кучу заполнителей, для которых предоставляются значения при обработке шаблона. Я хочу условно включить часть шаблона, если указана переменная userName, что-то вроде: [#if_exists userName] Hi ${userName}, How are you? [/#if_exists] Тем не менее,...

165
Почему я должен избегать std :: enable_if в сигнатурах функций

Скотт Мейерс опубликовал содержание и статус своей следующей книги EC ++ 11. Он написал, что один пункт в книге может быть «Избегайте std::enable_ifподписей функций» . std::enable_if может использоваться в качестве аргумента функции, в качестве возвращаемого типа или в качестве шаблона класса или...

164
Как отлаживать переменные в Smarty как в PHP var_dump ()

У меня есть некоторые переменные внутри шаблона, и я не знаю, где я их назначил. Мне нужно знать, что находится внутри конкретной переменной; например, скажем, у меня есть переменная в Smarty называется member. Я пытался, {debug}но это не сработало, и всплывающее окно не отображалось. Как вывести /...

161
std :: function против шаблона

Благодаря C ++ 11 мы получили std::functionсемейство упаковщиков функторов. К сожалению, я продолжаю слышать только плохие вещи об этих новых дополнениях. Наиболее популярным является то, что они ужасно медленные. Я проверил это, и они действительно сосут по сравнению с шаблонами. #include...

159
Шаблоны C ++, которые принимают только определенные типы

В Java вы можете определить универсальный класс, который принимает только те типы, которые расширяют класс по вашему выбору, например: public class ObservableList<T extends List> { ... } Это делается с помощью ключевого слова "extends". Есть ли какой-нибудь простой эквивалент этого ключевого...

156
std :: enable_if для условной компиляции функции-члена

Я пытаюсь получить простой пример для работы, чтобы понять, как использовать std::enable_if. Прочитав этот ответ , я подумал, что не должно быть слишком сложно привести простой пример. Я хочу использовать std::enable_ifдля выбора между двумя функциями-членами и разрешить использовать только одну из...

155
Когда использовать std :: forward для пересылки аргументов?

C ++ 0x показывает пример использования std::forward: template<class T> void foo(T&& arg) { bar(std::forward<T>(arg)); } Когда выгодно использовать std::forwardвсегда? Кроме того, он требует использования &&в декларации параметров, действительно ли это во всех случаях? Я...

154
Зачем использовать «b <a? a: b »вместо« a <b? b: a ”для реализации шаблона max?

Шаблоны C ++ - полное руководство, второе издание, представляет шаблон max : template<typename T> T max (T a, T b) { // if b < a then yield a else yield b return b < a ? a : b; } И это объясняет использование “b < a ? a : b”вместо “a < b ? b : a”: Обратите внимание, что шаблон max...

151
Аргументы шаблона по умолчанию

Если мне разрешено делать следующее: template <typename T = int> class Foo{ }; Почему мне не разрешено делать следующее в основном? Foo me; Но я должен указать следующее: Foo<int> me; C ++ 11 представил аргументы шаблона по умолчанию, и сейчас они не совсем...

149
Как работает `void_t`

Я смотрел выступление Уолтера Брауна на Cppcon14 о современном программировании шаблонов ( часть I , часть II ), где он представил свою void_tтехнику SFINAE. Пример: дан простой шаблон переменной, который оценивает, правильно voidли сформированы все аргументы шаблона: template< class ... >...

148
Инициализация статического члена в шаблоне класса

Я хотел бы сделать это: template <typename T> struct S { ... static double something_relevant = 1.5; }; но я не могу, потому что something_relevantэто не цельный тип. Это не зависит от T, но существующий код зависит от того, является ли он статическим членом S. Поскольку S является шаблоном,...

147
Как я могу проверить размер коллекции в шаблоне Django?

У меня есть список в моем шаблоне Django. Я хочу сделать что-то, только если размер списка больше нуля. Я попробовал myList|lengthи , myList|length_isно они не увенчались успехом. Я искал по всему и не вижу примеров. Как я могу это...