Pertanyaan yang diberi tag «c++-faq»

Memberikan FAQ C ++ kolaboratif yang diedit komunitas

9
Mengapa volatile tidak dianggap berguna dalam pemrograman multithread C atau C ++?
Seperti ditunjukkan dalam jawaban ini yang baru-baru ini saya posting, saya tampaknya bingung tentang utilitas (atau ketiadaan) volatiledalam konteks pemrograman multi-threaded. Pemahaman saya adalah ini: setiap kali suatu variabel dapat diubah di luar aliran kontrol sepotong kode yang mengaksesnya, variabel itu harus dinyatakan volatile. Penangan sinyal, register I / O, …

7
Apa keuntungan menggunakan nullptr?
Sepotong kode ini secara konseptual melakukan hal yang sama untuk tiga pointer (inisialisasi pointer aman): int* p1 = nullptr; int* p2 = NULL; int* p3 = 0; Jadi, apa keuntungan dari menetapkan pointer nullptrlebih dari memberi mereka nilai NULLatau 0?
163 c++  c++11  null  c++-faq  nullptr 

5
Apa deklarasi utama yang tepat?
Apa tanda tangan yang tepat dari mainfungsi di C ++? Apa jenis pengembalian yang benar, dan apa artinya mengembalikan nilai dari main? Apa tipe parameter yang diizinkan, dan apa artinya? Apakah ini khusus sistem? Apakah aturan itu berubah seiring waktu? Apa yang terjadi jika saya melanggar mereka?
147 c++  main  c++-faq 

3
Manipulator iomanip manakah yang 'lengket'?
Saya baru-baru ini mengalami masalah saat membuat stringstreamkarena fakta bahwa saya salah mengasumsikan std::setw()akan memengaruhi aliran string untuk setiap penyisipan, sampai saya mengubahnya secara eksplisit. Namun, itu selalu tidak disetel setelah penyisipan. // With timestruct with value of 'Oct 7 9:04 AM' std::stringstream ss; ss.fill('0'); ss.setf(ios::right, ios::adjustfield); ss << setw(2) …
144 c++  c++-faq 



7
Polimorfisme dalam C ++
AFAIK: C ++ menyediakan tiga jenis polimorfisme. Fungsi virtual Kelebihan nama fungsi Kelebihan operator Selain tiga jenis polimorfisme di atas, ada jenis polimorfisme lainnya: run-time waktu kompilasi polimorfisme ad-hoc polimorfisme parametrik Saya tahu bahwa polimorfisme runtime dapat dicapai dengan fungsi virtual dan polimorfisme statis dapat dicapai dengan fungsi templat Tapi …

5
Kelebihan operator akses anggota ->,. *
Saya mengerti sebagian besar operator overloading, dengan pengecualian dari operator akses anggota ->, .*, ->*dll Secara khusus, apa yang diteruskan ke fungsi operator ini, dan apa yang harus dikembalikan? Bagaimana fungsi operator (mis. operator->(...)) Mengetahui anggota yang dirujuk? Bisakah itu tahu? Apakah itu perlu diketahui? Akhirnya, adakah pertimbangan const yang …


4
Kapan membuat tipe tidak dapat dipindahkan di C ++ 11?
Saya terkejut ini tidak muncul di hasil pencarian saya, saya pikir seseorang akan menanyakan ini sebelumnya, mengingat kegunaan semantik bergerak di C ++ 11: Kapan saya harus (atau apakah sebaiknya saya) membuat kelas tidak dapat dipindahkan di C ++ 11? (Alasan lain selain masalah kompatibilitas dengan kode yang ada, yaitu.)

10
Penggunaan stack dan heap yang tepat di C ++?
Saya telah memprogram untuk sementara waktu tetapi sebagian besar sudah Java dan C #. Saya tidak pernah benar-benar harus mengelola ingatan saya sendiri. Saya baru-baru ini mulai pemrograman dalam C ++ dan saya agak bingung kapan saya harus menyimpan sesuatu di stack dan kapan harus menyimpannya di heap. Pemahaman saya …

3
Implementasi C ++ Smart Pointer apa yang tersedia?
Perbandingan, Pro, Kontra, dan Kapan Menggunakan? Ini adalah spin-off dari utas pengumpulan sampah di mana apa yang saya anggap sebagai jawaban sederhana menghasilkan banyak komentar tentang beberapa implementasi penunjuk cerdas tertentu sehingga sepertinya layak untuk memulai posting baru. Pada akhirnya, pertanyaannya adalah apa saja berbagai implementasi smart pointer di C …


8
Mengapa fungsi inline C ++ di header?
NB Ini bukan pertanyaan tentang bagaimana menggunakan fungsi sebaris atau bagaimana mereka bekerja, lebih banyak mengapa mereka dilakukan sebagaimana adanya. Deklarasi fungsi anggota kelas tidak perlu mendefinisikan fungsi inline, ini hanya implementasi sebenarnya dari fungsi tersebut. Misalnya, di file header: struct foo{ void bar(); // no need to define this …


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.