Pertanyaan yang diberi tag «c++»

Pertanyaan tentang C ++, bahasa pemrograman tujuan umum yang diketik secara statis, bentuk bebas, multi-paradigma, dikompilasi.

6
Fungsi secara tidak sengaja membatalkan parameter referensi - apa yang salah?
Hari ini kami menemukan penyebab bug buruk yang hanya terjadi sesekali pada platform tertentu. Rebus, kode kami terlihat seperti ini: class Foo { map<string,string> m; void A(const string& key) { m.erase(key); cout << "Erased: " << key; // oops } void B() { while (!m.empty()) { auto toDelete = m.begin(); …
54 c++ 

10
Mengapa kata kunci 'final' bermanfaat?
Tampaknya Java memiliki kekuatan untuk mendeklarasikan kelas yang tidak dapat diturunkan untuk waktu yang lama, dan sekarang C ++ juga memilikinya. Namun, mengingat prinsip Open / Close dalam SOLID, mengapa hal itu berguna? Bagi saya, finalkata kunci terdengar seperti friend- itu legal, tetapi jika Anda menggunakannya, kemungkinan besar desainnya salah. …
54 java  c++  solid  final 

5
Mengapa pointer pintar penghitungan referensi sangat populer?
Seperti yang saya lihat, smart pointer digunakan secara luas di banyak proyek C ++ dunia nyata. Meskipun beberapa jenis pointer cerdas jelas bermanfaat untuk mendukung RAII dan transfer kepemilikan, ada juga kecenderungan menggunakan pointer bersama secara default , sebagai cara "pengumpulan sampah" , sehingga pemrogram tidak harus memikirkan alokasi sebanyak …

8
Apa yang terjadi pada sampah di C ++?
Java memiliki GC otomatis yang sesekali Menghentikan Dunia, tetapi mengurus sampah di tumpukan. Sekarang aplikasi C / C ++ tidak memiliki pembekuan STW ini, penggunaan memori mereka juga tidak bertambah. Bagaimana perilaku ini tercapai? Bagaimana benda mati dirawat?

3
Mengapa spesifikasi pengecualian buruk?
Kembali ke sekolah sekitar 10+ tahun yang lalu, mereka mengajari Anda untuk menggunakan penentu pengecualian. Karena latar belakang saya adalah sebagai salah satu dari mereka programmer Torvaldish C yang dengan keras kepala menghindari C ++ kecuali dipaksa, saya hanya berakhir di C ++ secara sporadis, dan ketika saya melakukannya saya …

11
Mengapa C ++ memiliki 'perilaku tidak terdefinisi' (UB) dan bahasa lain seperti C # atau Java tidak?
Posting Stack Overflow ini mencantumkan daftar situasi yang cukup komprehensif di mana spesifikasi bahasa C / C ++ menyatakan sebagai 'perilaku tidak terdefinisi'. Namun, saya ingin memahami mengapa bahasa modern lainnya, seperti C # atau Java, tidak memiliki konsep 'perilaku tidak terdefinisi'. Apakah ini berarti, perancang kompiler dapat mengontrol semua …

3
C ++ typedef sangat diketik
Saya sudah mencoba memikirkan cara mendeklarasikan typedef yang sangat diketik, untuk menangkap kelas bug tertentu pada tahap kompilasi. Seringkali saya mengetikkan int menjadi beberapa jenis id, atau vektor untuk posisi atau kecepatan: typedef int EntityID; typedef int ModelID; typedef Vector3 Position; typedef Vector3 Velocity; Ini bisa membuat maksud kode lebih …
50 c++  c++11  type-safety 

5
Mengapa semua fungsi <algorithm> hanya mengambil rentang, bukan wadah?
Ada banyak fungsi yang berguna &lt;algorithm&gt;, tetapi semuanya beroperasi pada "urutan" - pasangan iterator. Misalnya, jika saya memiliki wadah dan suka menjalankannya std::accumulate, saya perlu menulis: std::vector&lt;int&gt; myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Yang ingin saya lakukan adalah: int sum = std::accumulate(myContainer, 0); Yang sedikit lebih mudah …

9
Penjelasan tentang bagaimana "Katakan, Jangan Tanyakan" dianggap sebagai OO yang baik
Blogpost ini diposting di Hacker News dengan beberapa upvotes. Berasal dari C ++, sebagian besar contoh ini tampaknya bertentangan dengan apa yang telah saya ajarkan. Seperti contoh # 2: Buruk: def check_for_overheating(system_monitor) if system_monitor.temperature &gt; 100 system_monitor.sound_alarms end end versus bagus: system_monitor.check_for_overheating class SystemMonitor def check_for_overheating if temperature &gt; 100 …


2
Apakah perpustakaan hanya header-lebih efisien?
Asumsi Salah satu keuntungan dari perpustakaan header-only untuk C ++ adalah bahwa mereka tidak perlu dikompilasi secara terpisah. Dalam C dan C ++ inlinemasuk akal hanya jika fungsi didefinisikan dalam file header *. Secara tradisional, dalam tata letak C, .c / .h telah digunakan, di mana tajuk mewakili antarmuka publik …
48 c++  c  libraries 

8
Kapan BUKAN menggunakan destruktor virtual?
Saya percaya saya telah mencari berkali-kali tentang penghancur virtual, kebanyakan menyebutkan tujuan penghancur virtual, dan mengapa Anda perlu penghancur virtual. Juga saya pikir dalam banyak kasus destruktor harus virtual. Maka pertanyaannya adalah: Mengapa c ++ tidak mengatur semua destruktor virtual secara default? atau dalam pertanyaan lain: Kapan saya TIDAK perlu …


11
Apa yang bisa saya lakukan ketika pewawancara tidak tahu jawaban untuk pertanyaannya sendiri? [Tutup]
Kemarin saya memiliki pengalaman yang mengerikan dalam sebuah wawancara. Pewawancara bertanya kepada saya tentang fungsi virtual murni. Saya berkata, Ini mungkin atau mungkin tidak memiliki definisi di kelas dasar, tetapi kelas turunan harus memberikan definisi kecuali mereka juga ingin menjadi kelas abstrak. Tetapi pewawancara terus bertanya bahwa "Bisakah virtual murni …
48 c++  interview 

3
Pengembangan Android menggunakan C dan C ++ [ditutup]
Saya adalah pengembang C, C ++. Saya tertarik dengan pengembangan ponsel. Saya ingin tahu bagaimana cara mengembangkan aplikasi Android menggunakan C dan C ++, saya telah membaca bahwa mereka menyediakan kit untuk pengembang C, C ++ tetapi tidak memiliki semua fungsi pada Java kit. Haruskah saya menggunakan C / C …
47 c++  c  android 

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.