Pertanyaan yang diberi tag «auto»

Kata kunci `auto` telah diubah fungsinya dalam C ++ 11 untuk jenis deduksi. Ketika digunakan untuk mengganti nama tipe dalam deklarasi variabel yang diinisialisasi, variabel diberi tipe yang sama dengan penginisialisasi. Saat digunakan sebagai tipe pengembalian, tipe pengembalian ditentukan sebagai tipe pengembalian jejak, atau disimpulkan dari ekspresi-kembali.

1
'otomatis' sebagai placeholder argumen templat untuk parameter fungsi
C ++ 20 memungkinkan penggunaan autountuk tipe parameter fungsi. Apakah itu juga memungkinkan penggunaan autosebagai placeholder argumen templat (tidak serupa, tetapi dalam semangat C ++ 17 templat <auto> dengan cara) untuk tipe parameter fungsi? Jadi kode berikut, pra C ++ 20: template<typename First, typename Second> void printPair(const std::pair<First, Second>& p) …
22 c++  templates  auto  c++20 

6
Menginisialisasi variabel tipe tidak dikenal melalui konstruktor kelebihan beban di C ++
berasal dari latar belakang terutama python Saya agak kesulitan bekerja dengan tipe C ++. Saya mencoba menginisialisasi variabel kelas melalui salah satu dari beberapa konstruktor kelebihan beban yang menggunakan berbagai jenis sebagai parameter. Saya telah membaca bahwa menggunakan autokata kunci dapat digunakan untuk deklarasi otomatis suatu variabel, namun dalam kasus …

1
std :: pair <auto, auto> ketik kembali
Aku sedang bermain-main dengan autodi std::pair. Dalam kode di bawah ini, fungsi fseharusnya mengembalikan std::pairtipe yang bergantung pada parameter templat. Contoh kerja: CONTOH 1 template &lt;unsigned S&gt; auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else if constexpr (S == 2) return std::pair{1.0, …

2
Pengurangan tipe otomatis yang tidak cocok antara berbagai kompiler c ++
Jadi, saya mencoba menerapkan produk titik ( https://en.wikipedia.org/wiki/Dot_product ) dalam beberapa rasa C ++ modern dan muncul dengan kode berikut: #include &lt;iostream&gt; template&lt;class... Args&gt; auto dot(Args... args) { auto a = [args...](Args...) { return [=](auto... brgs) { static_assert(sizeof...(args) == sizeof...(brgs)); auto v1 = {args...}, i1 = v1.begin(); auto v2 = …
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.