Pertanyaan yang diberi tag «c++-concepts»

5
Mengapa kita membutuhkan membutuhkan?
Salah satu sudut konsep C ++ 20 adalah bahwa ada situasi tertentu di mana Anda harus menulis requires requires. Misalnya, contoh ini dari [expr.prim.req] / 3 : Sebuah membutuhkan ekspresi juga dapat digunakan dalam membutuhkan-klausul ([suhu]) sebagai cara menulis iklan kendala hoc pada argumen template yang seperti di bawah ini: …
161 c++  c++-concepts  c++20 

3
Apa perbedaan antara konsep dan batasan template?
Saya ingin tahu apa perbedaan semantik antara proposal konsep lengkap C ++ dan batasan template (misalnya, batasan seperti yang muncul di Dlang atau proposal konsep-lite baru untuk C ++ 1 tahun ). Apa yang mampu dilakukan oleh konsep lengkap daripada yang tidak dapat dilakukan oleh batasan template?
96 c++  c++11  d  c++-concepts 

3
C ++ 20 Konsep: Spesialisasi templat mana yang dipilih ketika argumen templat memenuhi syarat untuk beberapa konsep?
Diberikan: #include <concepts> #include <iostream> template<class T> struct wrapper; template<std::signed_integral T> struct wrapper<T> { wrapper() = default; void print() { std::cout << "signed_integral" << std::endl; } }; template<std::integral T> struct wrapper<T> { wrapper() = default; void print() { std::cout << "integral" << std::endl; } }; int main() { wrapper<int> w; …

1
Apakah `equality_comparable_with` perlu memerlukan` common_reference`?
The Konsepequality_­comparable_with<T, U> ini dimaksudkan untuk menyatakan bahwa objek dari jenis Tdan Udapat dibandingkan sama satu sama lain, dan jika mereka, maka ini memiliki arti yang diharapkan. Tidak apa-apa. Namun, konsep ini juga perlu common_reference_t<T&, U&>ada. Dorongan utama untuk common_referencedan fungsi petugasnya tampaknya adalah untuk mengaktifkan iterator proxy , untuk …

1
Cek konsep TS mengabaikan pengubah akses pribadi
Saya ingin menulis konsep yang dapat diindeks makna bahwa urutan telah memulai / mengakhiri yang mengembalikan RandomAccessIterator, atau operator [] didefinisikan dan mengembalikan nilai dari tipe yang tidak kosong. Saya menggunakan ide-ide dari artikel Stroustrup untuk konsep Sequence dan menambahkannya dengan: template <class T> concept bool Indexable = Sequence<T> || …
10 c++  c++-concepts 

1
Apakah diperlukan ekspresi yang diizinkan untuk "menangkap" variabel lingkup yang melampirkan?
Dalam contoh berikut, argumen fungsi digunakan untuk menguji dengan ekspresi yang membutuhkan apakah ekspresi yang menggunakannya terbentuk dengan baik. Ekspresi yang membutuhkan tidak membutuhkan argumen; menggunakan variabel dalam lingkup fungsi secara langsung: #include <cstddef> #include <vector> template<typename T> void Resize(T &v, std::size_t const n) { if constexpr (requires { v.resize(n); …
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.