Pertanyaan yang diberi tag «templates»

Tag templat digunakan dalam berbagai konteks: pemrograman generik (terutama C ++), dan pembuatan data / dokumen menggunakan mesin templat. Saat menggunakan tag ini pada pertanyaan-pertanyaan berat implementasi - beri tag pada bahasa kode implementasi ditulis dalam.

5
Bagaimana cara memeriksa apakah ada variabel dalam templat FreeMarker?
Saya memiliki template Freemarker yang berisi sekelompok placeholder yang nilainya diberikan saat template diproses. Saya ingin memasukkan bagian dari template jika variabel userName disediakan, seperti: [#if_exists userName] Hi ${userName}, How are you? [/#if_exists] Namun, manual FreeMarker tampaknya menunjukkan bahwa if_exists sudah usang, tetapi saya tidak dapat menemukan cara lain untuk …


13
Bagaimana Debug Variabel di Smarty seperti di PHP var_dump ()
Saya memiliki beberapa variabel di dalam template dan saya tidak tahu di mana saya menugaskan mereka. Saya perlu tahu apa yang ada di dalam variabel tertentu; misalnya, katakan saya memiliki variabel dalam smarty disebut member. Saya mencoba {debug}tetapi tidak berhasil, dan tidak ada popup yang ditampilkan. Bagaimana saya bisa menampilkan …

7
std :: function vs template
Berkat C ++ 11 kami menerima std::functionkeluarga pembungkus functor. Sayangnya, saya terus mendengar hanya hal-hal buruk tentang penambahan baru ini. Yang paling populer adalah mereka sangat lambat. Saya mengujinya dan mereka benar-benar payah dibandingkan dengan template. #include <iostream> #include <functional> #include <string> #include <chrono> template <typename F> float calc1(F f) …

14
Templat C ++ yang hanya menerima tipe tertentu
Di Java, Anda dapat menentukan kelas generik yang hanya menerima tipe yang memperluas kelas pilihan Anda, misalnya: public class ObservableList<T extends List> { ... } Ini dilakukan dengan menggunakan kata kunci "extends". Apakah ada yang setara dengan kata kunci ini di C ++?
159 c++  templates 

7
std :: enable_if untuk mengkompilasi fungsi anggota dengan syarat
Saya mencoba mendapatkan contoh sederhana untuk bekerja guna memahami cara menggunakan std::enable_if. Setelah saya membaca jawaban ini , saya pikir tidak terlalu sulit untuk memberikan contoh sederhana. Saya ingin menggunakan std::enable_ifuntuk memilih antara dua fungsi anggota dan hanya memperbolehkan salah satunya digunakan. Sayangnya, yang berikut ini tidak dikompilasi dengan gcc …
156 c++  templates  g++  c++11 

3
Kapan harus menggunakan argumen std :: forward to forward?
C ++ 0x menunjukkan contoh menggunakan std::forward: template<class T> void foo(T&& arg) { bar(std::forward<T>(arg)); } Kapan menguntungkan untuk digunakan std::forward, selalu? Selain itu, harus digunakan &&dalam deklarasi parameter, apakah valid dalam semua kasus? Saya pikir Anda harus memberikan temporari ke suatu fungsi jika fungsi tersebut dideklarasikan &&dengannya, jadi bisakah foo …



4
Templat argumen default
Jika saya diizinkan melakukan hal berikut: template <typename T = int> class Foo{ }; Mengapa saya tidak diizinkan melakukan hal berikut di main? Foo me; Tetapi saya harus menentukan yang berikut: Foo<int> me; C ++ 11 memperkenalkan argumen templat default dan saat ini mereka sulit dipahami oleh pemahaman lengkap saya.
151 c++  templates 

2
Bagaimana cara kerja `void_t`
Saya menyaksikan pembicaraan Walter Brown di Cppcon14 tentang pemrograman template modern ( Bagian I , Bagian II ) di mana ia mempresentasikan void_tteknik SFINAE- nya . Contoh: Diberi templat variabel sederhana yang mengevaluasi voidjika semua argumen templat terbentuk dengan baik: template< class ... > using void_t = void; dan sifat …
149 c++  templates  c++14  sfinae 

3
Inisialisasi anggota statis dalam templat kelas
Saya ingin melakukan ini: template <typename T> struct S { ... static double something_relevant = 1.5; }; tapi saya tidak bisa karena something_relevantitu bukan tipe integral. Itu tidak bergantung pada T, tetapi kode yang ada tergantung padanya menjadi anggota statis S. Karena S adalah templat, saya tidak bisa memasukkan definisi …
148 c++  templates  static 

4
Bagaimana cara membuat fungsi templat di dalam kelas? (C ++)
Saya tahu mungkin membuat fungsi templat: template<typename T> void DoSomeThing(T x){} dan dimungkinkan untuk membuat kelas templat: template<typename T> class Object { public: int x; }; tetapi apakah mungkin untuk membuat kelas tidak di dalam template, dan kemudian membuat fungsi di kelas itu sebagai template? Yaitu: //I have no idea …
144 c++  templates  function  class 

10
Bagaimana cara meniru perilaku C array inisialisasi “int arr [] = {e1, e2, e3,…}” dengan std :: array?
(Catatan: Pertanyaan ini tentang tidak memiliki untuk menentukan jumlah elemen dan masih memungkinkan bersarang jenis akan langsung diinisialisasi.) Pertanyaan ini membahas penggunaan tersisa untuk array C seperti int arr[20];. Pada jawabannya , @James Kanze menunjukkan salah satu benteng terakhir array C, itu karakteristik inisialisasi yang unik: int arr[] = { …


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.