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

13
“Derleme zamanında ayrılan bellek” gerçekten ne anlama geliyor?
C ve C ++ gibi programlama dillerinde, insanlar genellikle statik ve dinamik bellek tahsisine başvururlar. Kavramı anlıyorum ama "Tüm bellek derleme zamanında ayrıldı (ayrılmış)" ifadesi her zaman beni şaşırtıyor. Derleme, anladığım kadarıyla, yüksek düzey C / C ++ kodunu makine diline dönüştürür ve yürütülebilir bir dosya çıkarır. Derlenmiş bir dosyada …

2
Sınıf üyeleri için akıllı işaretçiler kullanma
C ++ 11 sınıf üyeleri olarak akıllı işaretçi kullanımını anlamakta sorun yaşıyorum. Akıllı işaretçiler hakkında çok şey okudum unique_ptrve genel olarak nasıl ve shared_ptr/ nasıl weak_ptrçalıştığını anladığımı düşünüyorum . Anlamadığım şey gerçek kullanımdır. Herkesin unique_ptrneredeyse her zaman gitmek için bir yol olarak kullanılmasını önerdiği görülüyor . Ama böyle bir şeyi …

6
C ++ 'da' typeof 'yerine' typeid '
C ++ arasında typeidve typeofarasındaki farkın ne olduğunu merak ediyorum . İşte bildiklerim: typeidC ++ başlık dosyası typeinfo'da tanımlanan type_info belgelerinde belirtilmiştir . typeofC için GCC uzantısında ve C ++ Boost kütüphanesinde tanımlanır. Ayrıca, burada, typeidbeklediğim şeyi döndürmediğini keşfettiğim yerde oluşturduğum test kodu testi . Neden? main.cpp #include <iostream> #include …
159 c++  typeof  typeid 

14
Yalnızca belirli türleri kabul eden C ++ şablonları
Java'da, yalnızca seçtiğiniz sınıfı genişleten türleri kabul eden genel sınıf tanımlayabilirsiniz, örneğin: public class ObservableList<T extends List> { ... } Bu, "genişletir" anahtar kelimesi kullanılarak yapılır. C ++ bu anahtar kelime için basit bir eşdeğer var mı?
159 c++  templates 


13
Bir aralıktan rastgele tamsayı oluşturma
Verilen aralıkta (sınır değerleri dahil) rasgele bir tamsayı üretecek bir fonksiyona ihtiyacım var. Mantıksız kalite / rastgelelik gereklilikleri yok, dört gereksinimim var: Hızlı olması lazım. Projemin milyonlarca (hatta bazen on milyonlarca) rastgele sayı üretmesi gerekiyor ve şu anki jeneratör fonksiyonumun bir darboğaz olduğu kanıtlandı. Ben makul düzgün olması gerekir (rand …
158 c++  random 

6
C ++ 'da __FILE__, __LINE__ ve __FUNCTION__ kullanımı
C ++ derleyicisi destekleri onları, belirli bir nedeni var olduğunu varsayarsak değil kullanımına __FILE__, __LINE__ve __FUNCTION__günlüğü ve hata ayıklama amacıyla? Öncelikle kullanıcıya yanıltıcı veriler (örneğin, optimizasyonun sonucu olarak yanlış satır numarasını veya işlevi bildirme) vermek veya sonuç olarak bir performans isabeti almakla ilgileniyorum. Temelde, güvenebileceğim __FILE__, __LINE__ve __FUNCTION__karşı her zaman …

4
C ++ 'da geçersiz işlevden nasıl çıkıyorsunuz?
Geçersiz bir işlevse, değer döndürmeden bir işlevden nasıl erken çıkabilirsiniz? Belirli bir koşul doğruysa kodunu yürütmek için gereken bir geçersiz yöntem var. Gerçekten bir değer döndürmek için yöntemi değiştirmek zorunda istemiyorum.
158 c++ 

9
Neden bir değer döndürmeden geçersiz bir işlevin sonundan akmak derleyici hatası üretmez?
Yıllar önce fark ettiğimden beri, bunun varsayılan olarak bir hata üretmediğini (en azından GCC'de), neden hep merak ettim? Bir uyarı oluşturmak için derleyici bayrakları verebileceğinizi anlıyorum, ancak her zaman bir hata olmamalı mı? Geçersiz olmayan bir fonksiyonun bir değer döndürmemesi neden mantıklı geliyor? Yorumlarda talep edilen bir örnek: #include <stdio.h> …
158 c++  c  gcc  g++ 

4
Üye fonksiyonlarında statik değişkenler
Birisi üye işlevlerindeki statik değişkenlerin C ++ 'da nasıl çalıştığını açıklayabilir. Aşağıdaki sınıf verildiğinde: class A { void foo() { static int i; i++; } } Birden çok örneğini Abildirirsem foo(), bir örnekte çağırma itüm örneklerde statik değişkeni artırır mı? Yoksa sadece onun çağrıldığı mı? Her örnek kendi kopyasını olurdu …
158 c++  static  scope 

9
Z soketinde C ++ API'sini kullanma
C++Üzerinde düzgün çalışması için C yuva API alma sorunları yaşıyorum z/OS. Ben dahil olmasına rağmen sys/socket.h, hala tanımlı olmadığını söyleyen derleme zamanı hataları alıyorum .AF_INET Açık bir şey mi kaçırıyorum, yoksa bu, z/OSsorunumun daha karmaşık hale gelmesi ile mi ilgili? Güncelleme : Daha fazla araştırma yapıldığında, #ifdefvurduğum bir şey olduğunu …
158 c++  c  sockets  mainframe  zos 

6
Std :: map üzerinden yineleme sırası biliniyor mu (standart tarafından garanti ediliyor)?
Demek istediğim - std::mapöğelerinin anahtarlara göre sıralandığını biliyoruz . Diyelim ki anahtarlar tamsayı. I yinelerler Eğer std::map::begin()için std::map::end()bir kullanma for, ben tuşlarıyla elemanları aracılığıyla dolayısıyla yineleme edeceğiz standart garanti yapar, artan düzende sıralanır? Misal: std::map<int, int> map_; map_[1] = 2; map_[2] = 3; map_[3] = 4; for( std::map<int, int>::iterator iter …
158 c++  dictionary  stl  standards 


4
Şablon varsayılan bağımsız değişkenleri
Aşağıdakileri yapmama izin verilirse: template <typename T = int> class Foo{ }; Neden esas olarak aşağıdakileri yapmama izin verilmiyor? Foo me; Ancak şunu belirtmeliyim: Foo<int> me; C ++ 11 varsayılan şablon argümanlarını tanıttı ve şu anda tam anlamam için anlaşılması zor.
158 c++  templates 

4
Vector :: resize () ve vector :: rezerv () arasında seçim
Bir vectorüye değişkenime bir miktar bellek önceden tahsis ediyorum . Aşağıdaki kod minimum kısımdır class A { vector<string> t_Names; public: A () : t_Names(1000) {} }; Şimdi bir noktada, eğer t_Names.size()eşitse 1000. Boyutu artırmayı planlıyorum 100. Sonra ulaşırsa 1100, tekrar artırın 100ve böyle devam edin. Sorum şu, vector::resize()ve arasında ne …
158 c++  vector 

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.