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
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
Mengapa tidak ada std :: stou?
C ++ 11 menambahkan beberapa fungsi konversi string baru: http://en.cppreference.com/w/cpp/string/basic_string/stoul Ini termasuk stoi (string ke int), stol (string ke long), stoll (string ke long long), stoul (string ke unsigned long), stoull (string ke unsigned long long). Terkemuka dalam ketidakhadirannya adalah fungsi stou (string to unsigned). Adakah alasan mengapa hal itu …
96 c++  string  c++11  std 

6
Mengapa std :: initializer_list bukan bahasa bawaan?
Mengapa std::initializer_listbahasa inti tidak ada di dalamnya? Menurut saya, ini adalah fitur yang cukup penting dari C ++ 11 namun tidak memiliki kata kunci yang dicadangkan sendiri (atau yang serupa). Sebaliknya, initializer_listitu hanya kelas template dari pustaka standar yang memiliki pemetaan implisit khusus dari sintaks braced-init-list baru {...} yang ditangani …


5
Dapatkah saya menginisialisasi daftar vektor tipe hanya bergerak?
Jika saya meneruskan kode berikut melalui snapshot GCC 4.7 saya, ia mencoba menyalin unique_ptrs ke dalam vektor. #include <vector> #include <memory> int main() { using move_only = std::unique_ptr<int>; std::vector<move_only> v { move_only(), move_only(), move_only() }; } Jelas itu tidak dapat berfungsi karena std::unique_ptrtidak dapat disalin: kesalahan: penggunaan fungsi yang dihapus …


2
Apakah kode dari "The C ++ Programming Language" edisi ke-4 bagian 36.3.6 ini memiliki perilaku yang terdefinisi dengan baik?
Dalam Bjarne Stroustrup C ++ Bahasa Pemrograman bagian edisi 4 36.3.6 STL-seperti Operasi kode berikut digunakan sebagai contoh chaining : void f2() { std::string s = "but I have heard it works even if you don't believe in it" ; s.replace(0, 4, "" ).replace( s.find( "even" ), 4, "only" ) …


3
Kapan menggunakan penginisialisasi tertutup kurung kurawal?
Di C ++ 11, kita memiliki sintaks baru untuk menginisialisasi kelas yang memberi kita banyak kemungkinan bagaimana menginisialisasi variabel. { // Example 1 int b(1); int a{1}; int c = 1; int d = {1}; } { // Example 2 std::complex<double> b(3,4); std::complex<double> a{3,4}; std::complex<double> c = {3,4}; auto d …

6
Menghitung panjang string C pada waktu kompilasi. Apakah ini benar-benar sebuah constexpr?
Saya mencoba menghitung panjang string literal pada waktu kompilasi. Untuk melakukannya, saya menggunakan kode berikut: #include <cstdio> int constexpr length(const char* str) { return *str ? 1 + length(str + 1) : 0; } int main() { printf("%d %d", length("abcd"), length("abcdefgh")); } Semuanya bekerja seperti yang diharapkan, program mencetak 4 …


8
C ++ lambda dengan captures sebagai penunjuk fungsi
Saya bermain dengan C ++ lambda dan konversi implisitnya ke fungsi pointer. Contoh awal saya menggunakannya sebagai callback untuk fungsi ftw. Ini bekerja seperti yang diharapkan. #include <ftw.h> #include <iostream> using namespace std; int main() { auto callback = [](const char *fpath, const struct stat *sb, int typeflag) -> int …

8
Mengapa makro preprocessor jahat dan apa alternatifnya?
Saya selalu menanyakan hal ini tetapi saya tidak pernah menerima jawaban yang benar-benar bagus; Saya pikir hampir semua programmer bahkan sebelum menulis "Hello World" yang pertama telah menemukan frase seperti "makro tidak boleh digunakan", "makro jahat" dan seterusnya, pertanyaan saya adalah: mengapa? Dengan C ++ 11 baru, apakah ada alternatif …

4
Bagaimana cara mendapatkan durasi, sebagai int milli dan detik float dari <chrono>?
Saya mencoba menggunakan perpustakaan chrono untuk pengatur waktu dan durasi. Saya ingin dapat memiliki Duration frameStart;(dari awal aplikasi) dan Duration frameDelta;(waktu antar frame) Saya harus bisa mendapatkan frameDeltadurasi sebagai milidetik dan detik mengambang. Bagaimana Anda melakukan ini dengan &lt;chrono&gt;pustaka c ++ 11 yang baru ? Saya telah mengerjakannya dan melakukan …
94 c++  c++11  timer  chrono 

6
C ++ terminate dipanggil tanpa pengecualian aktif
Saya mendapatkan kesalahan C ++ dengan threading: terminate called without an active exception Aborted Ini kodenya: #include &lt;queue&gt; #include &lt;thread&gt; #include &lt;mutex&gt; #include &lt;condition_variable&gt; template&lt;typename TYPE&gt; class blocking_stream { public: blocking_stream(size_t max_buffer_size_) : max_buffer_size(max_buffer_size_) { } //PUSH data into the buffer blocking_stream &amp;operator&lt;&lt;(TYPE &amp;other) { std::unique_lock&lt;std::mutex&gt; mtx_lock(mtx); while(buffer.size()&gt;=max_buffer_size) stop_if_full.wait(mtx_lock); buffer.push(std::move(other)); …

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.