Запитання з тегом «templates»

Тег шаблонів використовується в декількох контекстах: загальне програмування (особливо C ++) та генерація даних / документів за допомогою двигунів шаблонів. Під час використання цього тегу для впровадження важких питань - позначте мову коду, на якій написано реалізацію.

6
Значення за замовчуванням для шаблону Angularjs, якщо прив'язування нуля / невизначено (із фільтром)
У мене є прив'язка шаблону, яка відображає атрибут моделі під назвою 'date', який є датою, використовуючи фільтр дати Angular. <span class="gallery-date">{{gallery.date | date:'mediumDate'}}</span> Все йде нормально. Однак на даний момент, якщо в полі дати немає значення, прив'язка нічого не відображає. Однак я хотів би, щоб він відображав рядок "Різні", якщо …

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

3
Чому я повинен уникати std :: enable_if у підписах функції
Скотт Майєрс опублікував зміст та статус своєї наступної книги EC ++ 11. Він написав, що одним із пунктів у книзі може бути "Уникати std::enable_ifфункціональних підписів" . std::enable_if може використовуватися як аргумент функції, як тип повернення або як шаблон шаблону або параметр шаблону функції для умовного видалення функцій або класів із …

13
Як налагодити змінні в Smarty, як у PHP var_dump ()
У мене є деякі змінні всередині шаблону, і я не знаю, куди я їх призначив. Мені потрібно знати, що знаходиться всередині певної змінної; наприклад, скажіть, що у мене є змінна в smarty member. Я спробував, {debug}але це не вийшло, і спливаюче вікно не було показано. Як я можу вивести / …

7
std :: функція проти шаблону
Завдяки C ++ 11 ми отримали std::functionсімейство функторних обгортків. На жаль, я продовжую чути лише погані речі щодо цих нових доповнень. Найпопулярнішим є те, що вони жахливо повільні. Я тестував це, і вони справді смоктали в порівнянні з шаблонами. #include <iostream> #include <functional> #include <string> #include <chrono> template <typename F> …

14
Шаблони C ++, які приймають лише певні типи
У Java ви можете визначити загальний клас, який приймає лише типи, що розширюють клас на ваш вибір, наприклад: public class ObservableList<T extends List> { ... } Це робиться за допомогою ключового слова "розширює". Чи є якийсь простий еквівалент цього ключового слова в C ++?
158 c++  templates 

7
std :: enable_if умовно скласти функцію члена
Я намагаюся отримати простий приклад для роботи, щоб зрозуміти, як користуватися std::enable_if. Прочитавши цю відповідь , я подумав, що придумати простий приклад не повинно. Я хочу використовувати std::enable_ifдля вибору двох функцій-членів і дозволити використовувати лише одну з них. На жаль, наступне не компілюється з gcc 4.7, а після годин та …
156 c++  templates  g++  c++11 

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



4
Аргументи за замовчуванням шаблону
Якщо мені дозволено робити наступне: template <typename T = int> class Foo{ }; Чому в основному мені не дозволяють робити наступне? Foo me; Але я повинен вказати наступне: Foo<int> me; C ++ 11 представив аргументи шаблону за замовчуванням і зараз вони невловимі для мого повного розуміння.
151 c++  templates 

2
Як працює `void_t`
Я спостерігав, як Уолтер Браун розмовляв на Cppcon14 про сучасне шаблонне програмування ( частина I , частина II ), де він представив свою void_tтехніку SFINAE. Приклад: Дано простий шаблон змінної, який оцінює, voidчи всі аргументи шаблону добре сформовані: template< class ... > using void_t = void; та наступна ознака, яка …
149 c++  templates  c++14  sfinae 

3
Статична ініціалізація члена в шаблоні класу
Я хотів би зробити це: template <typename T> struct S { ... static double something_relevant = 1.5; }; але я не можу, оскільки something_relevantне є цілісним типом. Це не залежить від того T, але існуючий код залежить від того, чи є статичним членом S. Оскільки S є шаблоном, я не …
148 c++  templates  static 

4
Як створити функцію шаблону в класі? (C ++)
Я знаю, що можна зробити функцію шаблону: template<typename T> void DoSomeThing(T x){} і можна зробити клас шаблонів: template<typename T> class Object { public: int x; }; але чи можна зробити клас не в шаблоні, а потім зробити функцію в цьому класі шаблоном? Тобто: //I have no idea if this is …
144 c++  templates  function  class 

10
Як емуляцію ініціалізації масиву C "int arr [] = {e1, e2, e3, ...}" з поведінкою std :: array?
(Примітка. Це питання стосується того, що не потрібно вказувати кількість елементів і все ж дозволяти вкладеним типам безпосередньо ініціалізувати.) У цьому питанні розглядаються питання, які залишилися для масиву С, як int arr[20];. У своїй відповіді @James Kanze показує одну з останніх оплотів масивів C, це унікальні характеристики ініціалізації: int arr[] …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.