Pertanyaan yang diberi tag «c++»

C ++ adalah bahasa pemrograman untuk tujuan umum. Awalnya dirancang sebagai ekstensi ke C dan memiliki sintaksis yang sama, tetapi sekarang bahasa yang sama sekali berbeda. Gunakan tag ini untuk pertanyaan tentang kode yang akan dikompilasi dengan kompiler C ++. Gunakan tag khusus versi untuk pertanyaan yang berkaitan dengan revisi standar spesifik [C ++ 11], [C ++ 14], [C ++ 17] atau [C ++ 20], dll.

21
Mengapa alamat nol digunakan untuk penunjuk nol?
Dalam C (atau C ++ dalam hal ini), pointer menjadi spesial jika memiliki nilai nol: Saya disarankan untuk mengatur pointer ke nol setelah membebaskan memori mereka, karena itu berarti membebaskan pointer lagi tidak berbahaya; ketika saya memanggil malloc itu mengembalikan sebuah pointer dengan nilai nol jika tidak bisa mendapatkan saya …
121 c++  c  memory  pointers 

3
Penggabungan string makro C / C ++
#define STR1 "s" #define STR2 "1" #define STR3 STR1 ## STR2 Apakah mungkin untuk menggabungkan STR3 == "s1"? Anda dapat melakukan ini dengan meneruskan args ke fungsi Makro lainnya. Tetapi apakah ada cara langsung?
121 c++  c  c-preprocessor 

6
Gabungkan dua string literal
Saya membaca Accelerated C ++ oleh Koenig. Dia menulis bahwa "ide barunya adalah kita dapat menggunakan + untuk menggabungkan string dan string literal - atau, dalam hal ini, dua string (tapi bukan dua string literal). Baiklah, kurasa ini masuk akal. Sekarang ke dua latihan terpisah yang dimaksudkan untuk menerangi ini. …

4
Apa arti template <unsigned int N>?
Saat mendeklarasikan template, saya terbiasa memiliki kode semacam ini: template &lt;class T&gt; Namun dalam pertanyaan ini , mereka menggunakan: template &lt;unsigned int N&gt; Saya memeriksa bahwa itu terkompilasi. Tapi apa artinya? Apakah ini parameter non-tipe? Dan jika demikian, bagaimana kita bisa memiliki template tanpa parameter tipe?
121 c++  templates 


2
Kelebihan operator: fungsi anggota vs. fungsi non-anggota?
Saya membaca bahwa operator yang kelebihan beban yang dideklarasikan sebagai fungsi anggota adalah asimetris karena hanya dapat memiliki satu parameter dan parameter lainnya yang dilewatkan secara otomatis adalah thispointer. Jadi tidak ada standar untuk membandingkannya. Di sisi lain, operator yang kelebihan beban dideklarasikan sebagai a friendadalah simetris karena kita melewatkan …

22
Posisi bit paling tidak signifikan yang ditetapkan
Saya mencari cara yang efisien untuk menentukan posisi bit paling tidak signifikan yang diatur dalam bilangan bulat, misalnya untuk 0x0FF0 akan menjadi 4. Implementasi sepele adalah ini: unsigned GetLowestBitPos(unsigned value) { assert(value != 0); // handled separately unsigned pos = 0; while (!(value &amp; 1)) { value &gt;&gt;= 1; ++pos; …

4
Urutan panggilan konstruktor dan destruktor anggota
Oh C ++ guru, saya mencari kebijaksanaan Anda. Bicaralah dengan bahasa standar kepada saya dan beri tahu saya jika C ++ menjamin bahwa program berikut: #include &lt;iostream&gt; using namespace std; struct A { A() { cout &lt;&lt; "A::A" &lt;&lt; endl; } ~A() { cout &lt;&lt; "A::~" &lt;&lt; endl; } }; …
121 c++ 


6
Bagaimana cara menulis literal pendek dalam C ++?
Pertanyaan yang sangat mendasar: bagaimana cara menulis shortliteral dalam C ++? Saya tahu yang berikut: 2 adalah int 2U adalah unsigned int 2L adalah long 2LL adalah long long 2.0f adalah float 2.0 adalah double '\2'adalah a char. Tapi bagaimana saya menulis shortliteral? Saya mencoba 2Stetapi itu memberikan peringatan kompiler.
120 c++  literals 


9
Apa perbedaan antara int dan a long di C ++?
Koreksi saya jika saya salah, int adalah 4 byte, dengan kisaran nilai dari -2,147,483,648 hingga 2,147,483,647 (2 ^ 31) panjangnya adalah 4 byte, dengan kisaran nilai dari -2,147,483,648 hingga 2,147,483,647 (2 ^ 31) Apa perbedaan C ++? Bisakah mereka digunakan secara bergantian?
120 c++  variables 


11
Mengapa saya tidak dapat menggunakan nilai float sebagai parameter template?
Ketika saya mencoba untuk menggunakan floatsebagai parameter template, kompilator meminta kode ini, sementara intberfungsi dengan baik. Apakah karena saya tidak dapat menggunakan floatsebagai parameter template? #include&lt;iostream&gt; using namespace std; template &lt;class T, T defaultValue&gt; class GenericClass { private: T value; public: GenericClass() { value = defaultValue; } T returnVal() { …


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.