«c++» etiketlenmiş sorular

C ++ genel amaçlı bir programlama dilidir. Başlangıçta C'nin bir uzantısı olarak tasarlanmıştır ve benzer bir sözdizimine sahiptir, ancak şimdi tamamen farklı bir dildir. Bir C ++ derleyicisiyle derlenecek kod (sorulacak) ile ilgili sorular için bu etiketi kullanın. Belirli bir standart revizyon [C ++ 11], [C ++ 14], [C ++ 17] veya [C ++ 20] vb. İle ilgili sorular için sürüme özgü bir etiket kullanın.

2
Anahtar olarak özel bir sınıf türü kullanan C ++ unordered_map
unordered_mapAşağıdaki gibi bir için anahtar olarak özel bir sınıf kullanmaya çalışıyorum : #include <iostream> #include <algorithm> #include <unordered_map> using namespace std; class node; class Solution; class Node { public: int a; int b; int c; Node(){} Node(vector<int> v) { sort(v.begin(), v.end()); a = v[0]; b = v[1]; c = v[2]; …





18
Bir vektörün içeriği nasıl yazdırılır?
C ++ bir vektör içeriğini yazdırmak istiyorum, İşte ne var: #include <iostream> #include <fstream> #include <string> #include <cmath> #include <vector> #include <sstream> #include <cstdio> using namespace std; int main() { ifstream file("maze.txt"); if (file) { vector<char> vec(istreambuf_iterator<char>(file), (istreambuf_iterator<char>())); vector<char> path; int x = 17; char entrance = vec.at(16); char firstsquare …
282 c++  vector  output  stdvector  cout 

18
Boş sonlandırılmış dizelerin mantığı nedir?
C ve C ++ 'ı sevdiğim kadarıyla, boş sonlandırılmış dizelerin seçiminde başımı çizemiyorum: Önceden eklenmiş uzunluk (yani Pascal) dizeleri C'den önce vardı Uzunluk ön ekli dizeler, sabit süre uzunluğu aramasına izin vererek birkaç algoritmayı daha hızlı hale getirir. Uzunluk ön ekli dizeler, arabellek taşması hatalarına neden olmayı zorlaştırır. 32 bitlik …
281 c++  c  string  null-terminated 


16
C ++ Yapı Başlatma
Yapıları aşağıda belirtildiği gibi C ++ ile başlatmak mümkün müdür? struct address { int street_no; char *street_name; char *city; char *prov; char *postal_code; }; address temp_address = { .city = "Hamilton", .prov = "Ontario" }; Buradaki ve buradaki bağlantılar , bu stili yalnızca C'de kullanmanın mümkün olduğunu belirtiyor. Öyleyse, bu …
279 c++ 


17
Özel ve Korumalı Üyeler: C ++
Birisi arasındaki farka olarak aydınlatmak bana privateve protectedüyeler sınıflarında? En iyi uygulama sözleşmelerinden, sınıf dışında çağrılmayan değişkenlerin ve işlevlerin yapılması gerektiğini anlıyorum private- ancak MFC projeme bakıldığında , MFC'nin lehine olduğu anlaşılıyor protected. Fark nedir ve hangisini kullanmalıyım?
276 c++  class  mfc 

13
Malloc () ve free () nasıl çalışır?
Ben nasıl bilmek istiyorum mallocve freeçalışması. int main() { unsigned char *p = (unsigned char*)malloc(4*sizeof(unsigned char)); memset(p,0,4); strcpy((char*)p,"abcdabcd"); // **deliberately storing 8bytes** cout << p; free(p); // Obvious Crash, but I need how it works and why crash. cout << p; return 0; } Cevabın hafıza düzeyinde derinlemesine olması mümkünse …

8
C ++ 'da make_shared ve normal shared_ptr arasındaki fark
std::shared_ptr<Object> p1 = std::make_shared<Object>("foo"); std::shared_ptr<Object> p2(new Object("foo")); Birçok google ve stackoverflow yayınları bu konuda, ama neden make_shareddoğrudan kullanmaktan daha verimli olduğunu anlayamıyorum shared_ptr. Birisi bana nasıl yaratılmış olduğunu ve her ikisi tarafından yapılan işlemleri adım adım açıklayabilir miyim böylece nasıl make_sharedverimli olduğunu anlayabiliyorum . Referans için yukarıda bir örnek verdim.
276 c++  c++11  shared-ptr 

23
Kopyaları silmenin ve bir vektörü sıralamanın en etkili yolu nedir?
Potansiyel olarak çok sayıda öğe ile bir C ++ vektör almak, yinelenenleri silmek ve sıralamak gerekir. Şu anda aşağıdaki kodu var, ama çalışmıyor. vec.erase( std::unique(vec.begin(), vec.end()), vec.end()); std::sort(vec.begin(), vec.end()); Bunu nasıl doğru bir şekilde yapabilirim? Ayrıca, önce kopyaları silmek (yukarıdaki kodlamaya benzer) veya önce sıralamayı gerçekleştirmek daha hızlı mıdır? İlk …
274 c++  sorting  vector  stl  duplicates 

11
C ++ 'da yeni anahtar kelimeyi ne zaman kullanmalıyım?
Kısa bir süredir C ++ kullanıyorum ve yeni anahtar kelimeyi merak ediyorum . Basitçe, kullanmalı mıyım, kullanmamalı mıyım? 1) Yeni anahtar kelimeyle ... MyClass* myClass = new MyClass(); myClass->MyField = "Hello world!"; 2) Yeni anahtar kelime olmadan ... MyClass myClass; myClass.MyField = "Hello world!"; Bir uygulama açısından bakıldığında, farklı görünmüyorlar …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.