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.

3
Mengapa destruktor tidak dipanggil pada operator hapus?
Saya mencoba menelepon ::deleteuntuk kelas di operator deletedalamnya. Tetapi destruktor tidak disebut. Saya mendefinisikan kelas MyClassyang operator deletekelebihan beban. Global operator deletejuga kelebihan beban. The kelebihan beban operator deletedari MyClassakan memanggil global kelebihan beban operator delete. class MyClass { public: MyClass() { printf("Constructing MyClass...\n"); } virtual ~MyClass() { printf("Destroying MyClass...\n"); …

9
Catalina C ++: Menggunakan kesalahan header <cmath> menghasilkan: tidak ada anggota bernama 'signbit' di namespace global
Setelah memutakhirkan ke Catalina dari Mojave, Pengaturan: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk di env. Saya tidak dapat mengkompilasi program yang digunakan &lt;cmath&gt; header. Saya mencoba mengubah CFLAGS, CCFLAGS, CXXFLAGS untuk menunjuk ke Lokasi MacOSSDK yang tidak mengubah apa pun Scanning dependencies of target OgreMain /Applications/Xcode.app/Contents/Developer/usr/bin/make -f OgreMain/CMakeFiles/OgreMain.dir/build.make OgreMain/CMakeFiles/OgreMain.dir/build [ 0%] Building CXX object OgreMain/CMakeFiles/OgreMain.dir/src/OgreASTCCodec.cpp.o …

4
Pastikan pada waktu kompilasi bahwa suatu metode dipanggil tepat di satu tempat
Saya ingin tahu apakah mungkin untuk memastikan pada waktu kompilasi bahwa suatu metode dipanggil tepat di satu tempat. Perhatikan bahwa tidak apa-apa jika fungsi dipanggil lebih dari satu kali (misalnya dalam satu lingkaran) - tetapi tidak boleh dipanggil dalam dua loop terpisah. Ini dapat dipecah menjadi dua bagian, saya juga …
15 c++ 

5
Cara membuat permutasi dalam c ++ menggunakan STL untuk jumlah tempat yang lebih rendah dari total panjang
Saya punya c++ vectordengan std::pair&lt;unsigned long, unsigned long&gt;objek. Saya mencoba untuk menghasilkan permutasi objek menggunakan vektor std::next_permutation(). Namun, saya ingin permutasi dari ukuran yang diberikan, Anda tahu, mirip dengan permutationsfungsi di python di mana ukuran permutasi yang diharapkan ditentukan. Pada dasarnya c++setara dengan import itertools list = [1,2,3,4,5,6,7] for permutation …

3
Cara kompilasi waktu untuk menentukan jenis argumen yang paling murah
Saya memiliki template yang terlihat seperti ini template &lt;typename T&gt; class Foo { public: Foo(const T&amp; t) : _t(t) {} private: const T _t; }; Apakah ada cara pemrograman cerdas template untuk menghindari menggunakan referensi const dalam kasus di mana jenis argumen sepele seperti bool atau char? Suka: Foo(stl::smarter_argument&lt;T&gt;::type t) …
15 c++  stl 

4
Mencuri sumber daya dari std :: kunci peta diizinkan?
Dalam C ++, apakah boleh mencuri sumber daya dari peta yang tidak saya perlukan lagi? Lebih tepatnya, anggap saya punya kunci std::mapwith std::stringdan saya ingin membuat vektor dengan mencuri sumber daya mapkunci s yang digunakan std::move. Perhatikan bahwa akses tulis ke kunci merusak struktur data internal (pemesanan kunci) maptapi saya …

1
Bagaimana kompiler c ++ menemukan variabel eksternal?
Saya mengkompilasi program ini dengan g ++ dan clang ++. Ada perbedaan: g ++ mencetak 1, tetapi dentang ++ mencetak 2. Tampaknya g ++: extern varible didefinisikan dalam lingkup terpendek. dentang ++: variabel ekstern didefinisikan dalam ruang lingkup global terpendek. Apakah spesifikasi C ++ memiliki spesifikasi tentang itu? main.cpp #include …

5
Hitung baris file sumber menggunakan makro?
Apakah mungkin, menggunakan preprocessor C / C ++, untuk menghitung baris dalam file sumber, menjadi makro atau semacam kompilasi-nilai waktu yang tersedia? Misalnya saya bisa mengganti MAGIC1, MAGIC2dan MAGIC3berikut ini, dan mendapatkan nilai 4 entah bagaimana saat menggunakan MAGIC3? MAGIC1 // can be placed wherever you like before the relevant …

2
Mengapa `std :: basic_ios` memiliki konstruktor publik?
std::basic_iosmemiliki konstruktor publik : explicit basic_ios (std::basic_streambuf&lt;CharT,Traits&gt;* sb); IMO, satu-satunya alasan bagi kelas untuk memiliki konstruktor publik adalah untuk menggunakan contoh mandiri dari kelas itu dalam suatu program. Jika suatu kelas ada hanya untuk memiliki kelas lain turun dari itu (seperti yang tampaknya terjadi basic_ios), semua konstruktor kelas harus protected. …


2
C ++ thread menggunakan objek fungsi, bagaimana beberapa destruktor dipanggil tetapi bukan konstruktor?
Temukan cuplikan kode di bawah ini: class tFunc{ int x; public: tFunc(){ cout&lt;&lt;"Constructed : "&lt;&lt;this&lt;&lt;endl; x = 1; } ~tFunc(){ cout&lt;&lt;"Destroyed : "&lt;&lt;this&lt;&lt;endl; } void operator()(){ x += 10; cout&lt;&lt;"Thread running at : "&lt;&lt;x&lt;&lt;endl; } int getX(){ return x; } }; int main() { tFunc t; thread t1(t); if(t1.joinable()) { …




2
Mengapa std :: swap bertanda constexpr sebelum C ++ 20?
Di C ++ 20, std::swapmenjadi constexprfungsi. Saya tahu bahwa perpustakaan standar benar-benar tertinggal di belakang bahasa dalam menandai hal-hal constexpr, tetapi pada 2017, &lt;algorithm&gt;cukup banyak constexpr seperti banyak hal lainnya. Namun - std::swaptidak. Samar-samar saya ingat ada beberapa cacat bahasa aneh yang mencegah penandaan itu, tapi saya lupa detailnya. Adakah …

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.