Pertanyaan yang diberi tag c++

98
std :: back_inserter untuk std :: set?

Saya rasa ini adalah pertanyaan sederhana. Saya perlu melakukan sesuatu seperti ini: std::set<int> s1, s2; s1 = getAnExcitingSet(); std::transform(s1.begin(), s1.end(), std::back_inserter(s2), ExcitingUnaryFunctor()); Tentu saja, std::back_insertertidak berhasil karena tidak ada...

98
std :: string menjadi float atau double

Saya mencoba untuk beralih std::stringke float/double. Saya mencoba: std::string num = "0.6"; double temp = (double)atof(num.c_str()); Tapi selalu mengembalikan nol. Ada cara lain?

98
Haruskah saya mewarisi dari std :: exception?

Saya telah melihat setidaknya satu sumber yang dapat diandalkan (kelas C ++ yang saya ambil) merekomendasikan bahwa kelas pengecualian khusus aplikasi di C ++ harus mewarisi std::exception. Saya tidak mengerti manfaat dari pendekatan ini. Di C # alasan untuk mewarisi dari ApplicationExceptionsudah...

98
(Bagaimana) saya bisa menghitung item dalam enum?

Pertanyaan ini muncul di benak saya, ketika saya memiliki sesuatu seperti enum Folders {FA, FB, FC}; dan ingin membuat berbagai wadah untuk setiap folder: ContainerClass*m_containers[3]; .... m_containers[FA] = ...; // etc. (Menggunakan peta, ini jauh lebih elegan untuk digunakan...

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

98
bagaimana cara mengubah dari int ke char *?

Satu-satunya cara yang saya tahu adalah: #include <sstream> #include <string.h> using namespace std; int main() { int number=33; stringstream strs; strs << number; string temp_str = strs.str(); char* char_type = (char*) temp_str.c_str(); } Tetapi apakah ada metode lain...

98
Mengapa kita menyalin lalu pindah?

Saya melihat kode di suatu tempat di mana seseorang memutuskan untuk menyalin objek dan kemudian memindahkannya ke anggota data kelas. Ini membuat saya bingung karena saya pikir inti dari pindah adalah untuk menghindari penyalinan. Berikut contohnya: struct S { S(std::string str) :...

98
Cara bersih untuk menulis beberapa loop 'untuk'

Untuk array dengan banyak dimensi, biasanya kita perlu menulis forloop untuk setiap dimensinya. Sebagai contoh: vector< vector< vector<int> > > A; for (int k=0; k<A.size(); k++) { for (int i=0; i<A[k].size(); i++) { for (int j=0; j<A[k][i].size(); j++) {...