Pertanyaan tentang topik tersebut 'c++17'

Mencegah Tuple keluar batas dengan if constexpr
Kode berikut dapat dikompilasi dengan baik dengan GCC dan Dentang tetapi berhenti berfungsi di pembaruan terkini untuk Visual Studio (/std:c++latest): #include <tuple> template<int pos, typename... T> void check_tuple(T... types) {...
368 dilihat
schedule 16.12.2023

constexpr di untuk-Pernyataan
c++17 menyediakan if constexpr , yang di dalamnya: nilai kondisi harus berupa ekspresi konstanta tipe bool yang dikonversi secara kontekstual. Jika nilainya true , maka pernyataan-salah dibuang (jika ada), jika tidak, pernyataan-benar...
3848 dilihat

Membandingkan std::string_view dan substring string_view
Katakanlah kita memiliki string_view dan string_view lain yang merupakan subset dari string_view pertama: using namespace std; // just to shorten the example... string_view s{"abc def"}; auto t = s.substr(4); auto u = s.substr(0, 4); cout...
1318 dilihat
schedule 01.12.2023

Pengikatan terstruktur pada const
Apakah kode berikut seharusnya dikompilasi? #include <type_traits> void foo() { const std::pair<int, int> x = {1, 2}; auto [a, b] = x; static_assert(std::is_const_v<decltype(a)>);...
697 dilihat
schedule 24.12.2023

Pengikatan python menggunakan pybind11 dengan std::filesystem sebagai argumen fungsi yang memberikan TypeError
Saya memiliki kelas Foo() dan kelas Foo() memiliki fungsi dengan deklarasi berikut: bool Foo::copyFile(const std::filesystem::path& src, const std::filesystem::path& dest) Persyaratannya adalah kelas Foo harus memiliki binding Python....
692 dilihat
schedule 10.12.2023

Struktur data STL mana dengan tipe penyimpanan tidak lengkap yang dapat digunakan sebagai anggota kelas?
Sejauh yang saya tahu, sejak C++17 beberapa struktur data STL mungkin "ada" dengan tipe yang tidak lengkap sebagai parameter templat yang menggambarkan tipe yang disimpan. Misalnya, saya dapat menggunakan std::unique_ptr<Incomplete> (saya...
216 dilihat
schedule 19.11.2023

Mengapa kita membutuhkan std::nullopt [duplikat]
Kapan kita dapat menggunakan inisialisasi seragam untuk membuat std::optional<T> secara default dengan mudah? std::optional<T> foo() { if (on_error) return {}; // ... } Apakah ada kelemahan di atas yang dipecahkan...
1977 dilihat
schedule 01.11.2023

Cara merangkai dan membuat serialisasi fungsi dengan membebani | operator
Saya mencoba mencari cara untuk membebani operator|() secara umum untuk objek kelas dasar tertentu untuk membuat serial atau pemanggilan fungsi rantai yang mirip dengan cara kerja pipes atau operator<<() ... Saya ingin menghubungkannya...
68 dilihat

Mengakses anggota struct umum di std::varian
Saya kesulitan memahami cara menggunakan std::variant di C++17. Diberikan dua struct A dan B , dan std::vector<std::variant<A,B>> vs , saya ingin: Merujuk ke anggota struct umum, mis. n ; Panggil fungsi umum, mis. fun()...
321 dilihat
schedule 19.11.2023

Pengurangan argumen templat C++17 gagal
Saya ingin mensimulasikan pengatur waktu yang akan memanggil fungsi (panggilan balik) secara berkala untuk itu saya menulis cuplikan berikut (walaupun naif) di mana, Pengurangan argumen gagal pada baris Timer/ ‹int, int, float› /. .dalam fungsi...
64 dilihat
schedule 18.12.2023

Bisakah penentu atribut might_unused hanya muncul sekali dan masih berfungsi? [duplikat]
Saya menyukai atribut [[maybe_unused]] dan sering menggunakannya ketika saya perlu mengkompilasi implementasi fungsi khusus debug. Saya sedikit bingung di mana ini harus digunakan ketika menentukan argumen fungsi anggota sebagai [[maybe_unused]] ....
32 dilihat
schedule 16.01.2024