Pertanyaan yang diberi tag c++-faq

129
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...

129
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?...

121
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...

120
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,...

115
Cara membebani std :: swap ()

std::swap()digunakan oleh banyak kontainer std (seperti std::listdan std::vector) selama penyortiran dan bahkan penugasan. Tetapi implementasi std swap()sangat umum dan agak tidak efisien untuk tipe kustom. Dengan demikian, efisiensi dapat diperoleh dengan membebani std::swap()dengan implementasi...

106
Apa itu komparator transparan?

Di C ++ 14, wadah asosiatif tampaknya telah berubah dari C ++ 11 - [asosiatif.reqmts] / 13 mengatakan: Template fungsi anggota find, count, lower_bound, upper_bound, dan equal_rangeakan tidak berpartisipasi dalam resolusi yang berlebihan kecuali jenis Compare::is_transparentada. Apa tujuan...

98
Apa jawaban yang benar untuk cout << a ++ << a ;?

Baru-baru ini dalam sebuah wawancara ada pertanyaan tipe objektif berikut. int a = 0; cout << a++ << a; Jawaban: Sebuah. 10 b. 01 c. perilaku tidak terdefinisi Saya menjawab pilihan b, yaitu output akan menjadi "01". Tapi yang mengejutkan saya kemudian saya diberitahu oleh...

94
Apa gunanya pointer fungsi?

Saya kesulitan melihat kegunaan pointer fungsi. Saya kira ini mungkin berguna dalam beberapa kasus (bagaimanapun juga mereka ada), tetapi saya tidak dapat memikirkan kasus di mana lebih baik atau tidak dapat dihindari untuk menggunakan penunjuk fungsi. Bisakah Anda memberikan beberapa contoh...