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.

14
Apa cara terbaik untuk melakukan putaran mundur di C / C # / C ++?
Saya perlu bergerak mundur melalui array, jadi saya memiliki kode seperti ini: for (int i = myArray.Length - 1; i >= 0; i--) { // Do something myArray[i] = 42; } Apakah ada cara yang lebih baik untuk melakukan ini? Pembaruan: Saya berharap mungkin C # memiliki beberapa mekanisme bawaan …
101 c#  c++  c 

2
Kesalahan penyusun: memset tidak dideklarasikan dalam cakupan ini
Saya mencoba mengompilasi program C saya di Ubuntu 9.10 (gcc 4.4.1). Saya mendapatkan kesalahan ini: Rect.cpp:344: error: ‘memset’ was not declared in this scope Tapi masalahnya saya sudah memasukkan file cpp saya: #include <stdio.h> #include <stdlib.h> Dan program yang sama dapat dikompilasi dengan baik di bawah Ubuntu 8.04 (gcc 4.2.4). …
101 c++  gcc 

6
Menggunakan {} dalam pernyataan kasus. Mengapa?
Apa gunanya menggunakan {dan }dalam sebuah casepernyataan? Biasanya, tidak peduli berapa banyak baris yang ada dalam sebuah casepernyataan, semua baris akan dieksekusi. Apakah ini hanya aturan mengenai kompiler lama / baru atau ada sesuatu di balik itu? int a = 0; switch (a) { case 0:{ std::cout << "line1\n"; std::cout …

13
Dapatkah saya menerapkan jenis `self` member otonom di C ++?
C ++ tidak memiliki padanan dengan selfkata kunci PHP , yang mengevaluasi jenis kelas penutup. Cukup mudah untuk memalsukannya berdasarkan kelas: struct Foo { typedef Foo self; }; tapi saya harus menulis Foolagi. Mungkin saya akan mendapatkan kesalahan ini suatu hari dan menyebabkan bug diam. Dapatkah saya menggunakan kombinasi dari …
101 c++  c++11 

3
Bagaimana cara mengkhususkan std :: hash <Key> :: operator () untuk tipe yang ditentukan pengguna dalam wadah tak berurutan?
Untuk mendukung jenis kunci yang ditentukan pengguna std::unordered_set&lt;Key&gt;dan std::unordered_map&lt;Key, Value&gt; harus menyediakan operator==(Key, Key)dan fungsi hash: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) const { return std::hash&lt;int&gt;()(x.id); } }; std::unordered_set&lt;X, …

5
Menghapus elemen dari vektor
Saya ingin menghapus elemen dari vektor menggunakan metode hapus. Tetapi masalahnya di sini adalah bahwa elemen tersebut tidak dijamin hanya terjadi sekali dalam vektor. Ini mungkin ada beberapa kali dan saya perlu menghapus semuanya. Kode saya adalah seperti ini: void erase(std::vector&lt;int&gt;&amp; myNumbers_in, int number_in) { std::vector&lt;int&gt;::iterator iter = myNumbers_in.begin(); std::vector&lt;int&gt;::iterator …
101 c++  vector  stl  erase 

3
Bagaimana cara membuat pustaka statis dengan g ++?
Adakah yang bisa memberi tahu saya cara membuat pustaka statis dari file .cpp dan .hpp? Apakah saya perlu membuat .o dan .a? Saya juga ingin tahu bagaimana saya bisa mengkompilasi perpustakaan statis dan menggunakannya dalam kode .cpp lainnya. Saya punya header.cpp, header.hpp .saya ingin membuatheader.a . Uji header.a dalam test.cpp. …


2
std :: shared_ptr ini
Saat ini saya mencoba mempelajari cara menggunakan petunjuk cerdas. Namun saat melakukan beberapa eksperimen, saya menemukan situasi berikut yang tidak dapat saya temukan solusi yang memuaskan: Bayangkan Anda memiliki objek kelas A menjadi induk dari objek kelas B (anak), tetapi keduanya harus saling mengenal: class A; class B; class A …

4
Bagaimana cara mengetahui dari mana file header disertakan?
Bagaimana cara mengetahui di mana g ++ dapat menemukan file yang disertakan? Pada dasarnya jika saya #include &lt;foo.h&gt; g ++ akan memindai jalur pencarian, menggunakan opsi penyertaan apa pun untuk menambah atau mengubah jalur. Tetapi, pada akhirnya, apakah ada cara saya dapat memberi tahu jalur absolut dari foo.h yang dipilih …
101 c++  c  gcc  include  g++ 




12
Iterasi vektor C ++ dari akhir ke awal
Apakah mungkin untuk mengulang sebuah vektor dari akhir ke awal? for (vector&lt;my_class&gt;::iterator i = my_vector.end(); i != my_vector.begin(); /* ?! */ ) { } Atau itu hanya mungkin dengan hal seperti itu: for (int i = my_vector.size() - 1; i &gt;= 0; --i) { }
101 c++  vector  iterator 

3
Apakah aman untuk menautkan objek C ++ 17, C ++ 14, dan C ++ 11
Misalkan saya memiliki tiga objek yang dikompilasi, semuanya diproduksi oleh kompiler / versi yang sama : A dikompilasi dengan standar C ++ 11 B dikompilasi dengan standar C ++ 14 C dikompilasi dengan standar C ++ 17 Untuk kesederhanaan, anggaplah semua header ditulis dalam C ++ 11, hanya menggunakan konstruksi …
101 c++  c++11  linker  c++14  abi 

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.