Pertanyaan yang diberi tag «c++11»

Gunakan tag ini untuk kode yang harus dikompilasi sebagai C ++ 11 (tidak menggunakan fitur apa pun yang diperkenalkan di C ++ 14 atau yang lebih baru).

3
C ++ decltype dan tanda kurung - mengapa?
Subjek telah dibahas sebelumnya , tetapi ini bukan duplikat. Ketika seseorang bertanya tentang perbedaan antara decltype(a)dan decltype((a)), jawaban yang biasa adalah - aadalah variabel, (a)adalah ekspresi. Saya menemukan jawaban ini tidak memuaskan. Pertama, aadalah ekspresi juga. Pilihan untuk ekspresi primer meliputi, antara lain - (ekspresi) ekspresi-id Lebih penting lagi, frasa …

6
Apakah aman untuk menukar dua vektor berbeda dalam C ++, menggunakan metode std :: vector :: swap?
Misalkan Anda memiliki kode berikut: #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> First{"example", "second" , "C++" , "Hello world" }; std::vector<std::string> Second{"Hello"}; First.swap(Second); for(auto a : Second) std::cout << a << "\n"; return 0; } Bayangkan vektor tidak std::string, belum kelas: std::vector<Widget> WidgetVector; std::vector<Widget2> Widget2Vector; Apakah masih …
30 c++  c++11  vector  stdvector  swap 






4
Continuous enum C ++ 11
Apakah ada cara untuk memeriksa C ++ 11 jika enum kontinu ? Ini sepenuhnya valid untuk memberikan nilai enum yang bukan. Apakah mungkin ada fitur seperti jenis sifat di C ++ 14, C ++ 17 atau mungkin C ++ 20 untuk memeriksa apakah enum kontinu? Ini untuk digunakan dalam static_assert. …
17 c++  c++11  c++14  c++17  c++20 

2
Apakah ini konstruktor gaya C ++ lama?
Di sini sepotong kode C ++. Dalam contoh ini, banyak blok kode terlihat seperti panggilan konstruktor. Sayangnya, kode blok 3 tidak (Anda dapat memeriksanya menggunakan https://godbolt.org/z/q3rsxn dan https://cppinsights.io ). Saya pikir, ini adalah notasi C ++ lama dan bisa menjelaskan pengenalan notasi konstruksi C ++ 11 baru menggunakan {} (cf …
17 c++  c++11 

3
Templat variadik: buka argumen dalam grup
Saya memiliki fungsi yang membutuhkan dua argumen: template <typename T1, typename T2> void foo(T1 arg1, T2 arg2) { std::cout << arg1 << " + " << arg2 << '\n'; } Dan satu variadic yang harus meneruskan argumennya secara berpasangan: template <typename... Args> void bar(Args&&... args) { static_assert(sizeof...(Args) % 2 == …

2
Mengapa std :: swap bertanda constexpr sebelum C ++ 20?
Di C ++ 20, std::swapmenjadi constexprfungsi. Saya tahu bahwa perpustakaan standar benar-benar tertinggal di belakang bahasa dalam menandai hal-hal constexpr, tetapi pada 2017, <algorithm>cukup banyak constexpr seperti banyak hal lainnya. Namun - std::swaptidak. Samar-samar saya ingat ada beberapa cacat bahasa aneh yang mencegah penandaan itu, tapi saya lupa detailnya. Adakah …

3
Mengurutkan vektor dalam urutan menurun dalam dua rentang
Katakanlah saya memiliki vektor bilangan bulat: std::vector<int> indices; for (int i=0; i<15; i++) indices.push_back(i); Lalu saya mengurutkannya dalam urutan menurun: sort(indices.begin(), indices.end(), [](int first, int second) -> bool{return indices[first] > indices[second];}) for (int i=0; i<15; i++) printf("%i\n", indices[i]); Ini menghasilkan yang berikut: 14 13 12 11 10 9 8 7 …

1
Bisakah saya daftar-menginisialisasi std :: vektor dengan penerusan yang sempurna dari elemen?
Saya perhatikan bahwa daftar agregasi inisialisasi std :: vector melakukan inisialisasi salin ketika bergerak lebih berlaku. Pada saat yang sama, banyak emplace_backs melakukan apa yang saya inginkan. Saya hanya bisa menghasilkan solusi yang tidak sempurna untuk menulis fungsi templat ini init_emplace_vector. Ini hanya optimal untuk konstruktor nilai tunggal yang tidak …

3
Mengapa dimensi array merupakan bagian dari tipenya?
Saat membaca buku C ++ Primer, saya menemukan pernyataan ini: "Jumlah elemen dalam array adalah bagian dari tipe array." Jadi saya ingin mencari tahu menggunakan kode berikut: #include<iostream> int main() { char Array1[]{'H', 'e', 'l', 'p'}; char Array2[]{'P', 'l', 'e', 'a', 's', 'e'}; std::cout<<typeid(Array1).name()<<std::endl; //prints A4_c std::cout<<typeid(Array2).name()<<std::endl; //prints A6_c return …
14 c++  arrays  c++11 

3
Menjalankan fungsi di dalam templat fungsi hanya untuk tipe-tipe yang memiliki fungsi yang ditentukan
Saya memiliki templat fungsi yang membutuhkan banyak jenis input. Dari tipe-tipe itu hanya satu yang memiliki getInt()fungsi. Karenanya saya ingin kode untuk menjalankan fungsi hanya untuk tipe itu. Mohon saran solusinya. Terima kasih #include <type_traits> #include <typeinfo> class X { public: int getInt(){ return 9; } }; class Y{ }; …

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.