Pertanyaan yang diberi tag «c++»

C ++ adalah bahasa pemrograman untuk tujuan umum. Awalnya dirancang sebagai ekstensi ke C dan memiliki sintaksis yang sama, tetapi sekarang bahasa yang sama sekali berbeda. Gunakan tag ini untuk pertanyaan tentang kode yang akan dikompilasi dengan kompiler C ++. Gunakan tag khusus versi untuk pertanyaan yang berkaitan dengan revisi standar spesifik [C ++ 11], [C ++ 14], [C ++ 17] atau [C ++ 20], dll.



1
Definisi C ++ 20 di luar kelas dalam kelas templat
Hingga standar C ++ 20 dari C ++, ketika kami ingin mendefinisikan operator di luar kelas yang menggunakan beberapa anggota pribadi dari kelas templat, kami akan menggunakan konstruksi yang mirip dengan ini: template <typename T> class Foo; template <typename T> constexpr bool operator==(T lhs, const Foo<T>& rhs); template <typename T> …
12 c++  templates  c++20 

1
Apakah lambda yang dapat ditangkap dijamin kosong oleh standar?
Saya sedang mencari cara untuk mengidentifikasi lambda kosong (tidak bisa ditangkap) dari lambda lain dalam fungsi templat. Saat ini saya menggunakan C ++ 17 tapi saya juga penasaran untuk C ++ 20 jawaban juga. Kode saya terlihat seperti ini: template<typename T> auto func(T lambda) { // The aguments of the …
12 c++  lambda  c++17  c++20 



2
Mengapa variabel enum merupakan nilai di sini?
Contoh: typedef enum Color { RED, GREEN, BLUE } Color; void func(unsigned int& num) { num++; } int main() { Color clr = RED; func(clr); return 0; } Saya mendapatkan kesalahan berikut ketika saya kompilasi ini: <source>: In function 'int main()': <source>:16:9: error: cannot bind non-const lvalue reference of type …

1
Alias ​​publik untuk tipe non-publik
Saya ingin tahu apakah itu valid C ++: class Test { struct PrivateInner { PrivateInner(std::string const &str) { std::cout << str << "\n"; } }; public: using PublicInner = PrivateInner; }; //Test::PrivateInner priv("Hello world"); // Ok, private so we can't use that Test::PublicInner publ("Hello World"); // ?, by using public …


2
Melewati konsep ke fungsi
Karena konsep didefinisikan sebagai predikat waktu kompilasi, apakah mungkin untuk menggunakan kembali predikat ini untuk algoritme waktu kompilasi? Misalnya, apakah mungkin untuk memeriksa apakah semua tipe dalam tuple sesuai dengan konsep? Sejauh yang saya lihat, tidak mungkin untuk meneruskan konsep ke fungsi dengan cara apa pun, jenis apa yang membuat …

5
Jumlah stabil yang efisien dari nomor yang dipesan
Saya memiliki daftar angka positif floating point yang cukup panjang ( std::vector<float>, ukuran ~ 1000). Angka-angka diurutkan dalam mengurangi pemesanan. Jika saya menjumlahkan mereka mengikuti pesanan: for (auto v : vec) { sum += v; } Saya kira saya dapat memiliki beberapa masalah stabilitas numerik, karena mendekati akhir vektor sumakan …

2
Inisialisasi vektor atom
Mempertimbangkan: void foo() { std::vector<std::atomic<int>> foo(10); ... } Apakah konten foo sekarang valid? Atau apakah saya perlu secara eksplisit mengulang dan menginisialisasi mereka? Saya telah memeriksa Godbolt dan tampaknya baik-baik saja, namun standar tampaknya sangat membingungkan pada titik ini. The std :: vector konstruktor mengatakan itu menyisipkan default-dimasukkan contoh std::atomic<int>, …
12 c++  vector  atomic 




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.