«c++» etiketlenmiş sorular

Statik olarak yazılmış, serbest biçimli, çok paradigmalı, derlenmiş, genel amaçlı bir programlama dili olan C ++ ile ilgili sorular.

6
İşlev yanlışlıkla referans parametresini geçersiz kılar - yanlış giden ne?
Bugün sadece zaman zaman belirli platformlarda meydana gelen iğrenç bir hatanın nedenini bulduk. Kaynatılmış, kodumuz şöyle görünüyordu: class Foo { map<string,string> m; void A(const string& key) { m.erase(key); cout << "Erased: " << key; // oops } void B() { while (!m.empty()) { auto toDelete = m.begin(); A(toDelete->first); } } …
54 c++ 

10
'Final' anahtar kelimesi neden hiç faydalı olsun?
Görünüşe göre Java yaşları boyunca türev edilemez sınıfları ilan etme gücüne sahipti ve şimdi C ++ 'da da var. Ancak, SOLID'deki Aç / Kapat ilkesinin ışığında, bu neden faydalı olabilir? Bana göre, finalanahtar kelime kulağa benziyor friend- yasal, ancak kullanıyorsanız büyük olasılıkla tasarım yanlıştır. Lütfen türetilemeyen bir sınıfın mükemmel bir …
54 java  c++  solid  final 

5
Referans sayma akıllı işaretçiler neden bu kadar popüler?
Görebildiğim gibi, akıllı işaretçiler birçok gerçek dünyadaki C ++ projesinde yaygın olarak kullanılıyor. Her ne kadar bazı akıllı işaretçiler RAII ve mülkiyet aktarımlarını desteklemede açıkça faydalı olsalar da, paylaşılan işaretçileri varsayılan olarak "çöp toplama" yöntemi olarak kullanma eğilimi vardır , böylece programcının bu kadar tahsisat hakkında düşünmesi gerekmez. . Paylaşılan …

8
C ++ 'daki çöplere ne olur?
Java, bir zamanlar Stops The Stops The World olan ancak bir yığındaki çöplerle ilgilenen otomatik bir GC'ye sahiptir. Şimdi C / C ++ uygulamaları bu STW donmalarına sahip değildir, bellek kullanımları da sonsuz şekilde artmaz. Bu davranışa nasıl ulaşılır? Ölü nesneler nasıl halledilir?

3
İstisna spesifikasyonları neden kötü?
Yaklaşık 10 yıl önce okula geri döndüğünde, size istisna belirtecilerini kullanmayı öğretiyorlardı. Geçmişim onlardan biri olduğu için zorlamadıkça inatla C ++ 'dan kaçınan Torvaldish C programcıları olduğu için, sadece sporadik olarak sadece C ++' a giriyorum ve bunu yaptığımda hala istisna belirtecilerini kullanıyorum. Bununla birlikte, C ++ programcılarının çoğunluğu istisna …

11
C ++ 'tanımsız davranış' (UB) ve C # veya Java gibi diğer diller neden yok?
Bu Yığın Taşması yayını , C / C ++ dil belirtiminin 'tanımsız davranış' olarak ilan ettiği durumların oldukça kapsamlı bir listesini listeler. Ancak, neden C # veya Java gibi diğer modern dillerin 'tanımsız davranış' kavramına sahip olmadığını anlamak istiyorum. Derleyici tasarımcı tüm olası senaryoları (C # ve Java) kontrol edebilir …

3
C ++ şiddetle yazılmış typedef
Derleme aşamasında belirli bir hata sınıfı yakalayabilmek için, güçlü bir şekilde yazılmış typedefleri bildirmenin bir yolunu düşünmeye çalışıyorum. Bu, çoğu zaman çeşitli kimlik türlerine bir int veya tanımlayacağım veya konum veya hız için bir vektör yazacağım durum budur: typedef int EntityID; typedef int ModelID; typedef Vector3 Position; typedef Vector3 Velocity; …
49 c++  c++11  type-safety 

5
Neden tüm <algorithm> işlevleri konteynerleri değil, yalnızca aralıklarını kullanıyor?
Birçok yararlı fonksiyon vardır &lt;algorithm&gt;, fakat hepsi "sekans" larda çalışır - yinelemeler Örneğin, eğer bir konteynırım varsa ve std::accumulateüzerine koştuğumda yazmam gerekir std::vector&lt;int&gt; myContainer = ...; int sum = std::accumulate(myContainer.begin(), myContainer.end(), 0); Yapmayı düşündüğüm tek şey: int sum = std::accumulate(myContainer, 0); Bu benim gözlerimde biraz daha okunaklı ve net. Şimdi …

9
“Söyleme, Sorma” nın nasıl iyi bir OO olarak kabul edildiğine ilişkin açıklama
Bu blog yayını Hacker News’de birkaç oy aldı. C ++ 'dan gelince, bu örneklerin çoğu benim öğretildiklerime aykırı görünüyor. Örnek 2 gibi: Kötü: def check_for_overheating(system_monitor) if system_monitor.temperature &gt; 100 system_monitor.sound_alarms end end iyi karşı: system_monitor.check_for_overheating class SystemMonitor def check_for_overheating if temperature &gt; 100 sound_alarms end end end C ++ 'da …

9
Linux'ta C ++ ve C geliştirme için IDE'lerin karşılaştırılması: KDevelop, Eclipse, NetBeans, CodeBlocks ve Anjuta [kapalı]
Linux'taki tam ölçekli IDE deneyimlerinizi not etmek isterim. Kişisel olarak çoğunlukla çalışıyorum vim, ancak diğer programcılar gerçek bir IDE görmek istiyor. Bu nedenle, farklı IDE'ler ve bunlar arasındaki karşılaştırmalar hakkındaki kişisel görüşünüzü aşağıdaki bağlamda duymak isterim: C ++ ve belki bazı C gelişimi (Java, Python ve diğer şeyler değil) Sunucu …
49 c++  ide  linux 

2
Yalnızca başlık kitaplıkları daha mı verimli?
Varsayımlar Yalnızca üstbilgi kitaplıkların C ++ için avantajlarından biri, ayrı olarak derlenmelerine gerek olmamasıdır. C ve C ++ ' inlineda işlev yalnızca bir başlık dosyasında tanımlanmışsa anlamlıdır *. Geleneksel olarak, C, .c / .h düzeni kullanılmıştır, burada başlığın çeviri biriminin asgari ortak arayüzünü temsil ettiği görülmektedir. Benzer şekilde, .cpp / …
48 c++  c  libraries 

8
Sanal yıkıcılar kullanılmadığında?
Sanal yıkıcılar hakkında defalarca aradığımı, sanal yıkıcıların amaçlarından ve neden sanal yıkıcılara ihtiyaç duyduğunuzu düşündüğüme inanıyorum. Ayrıca çoğu durumda yıkıcıların sanal olması gerektiğini düşünüyorum. Öyleyse soru şudur: c ++ neden tüm yıkıcıları varsayılan olarak sanal olarak ayarlamıyor? veya başka sorularda: Ne zaman sanal yıkıcılar kullanmam gerekmiyor? Bu durumda sanal yıkıcılar …


11
Görüşmeci kendi sorusunun cevabını bilmediğinde ne yapabilirim? [kapalı]
Dün bir röportajda korkunç bir deneyim yaşadım. Muhabir bana saf sanal işlev hakkında sorular sordu. Temel sınıfta tanımı olabilir veya olmayabilir, ancak türetilmiş sınıflar soyut sınıf olmak istemedikleri sürece tanım sağlamalıdırlar. Ancak görüşmeci "Saf sanallığın tanımı olabilir mi? ???" diye sormaya devam etti ... Evet dedim. Yine "Saf?" Dedi. Evet …
48 c++  interview 

3
C ve C ++ kullanarak Android geliştirme [kapalı]
Ben bir C, C ++ geliştiricisiyim. Mobil gelişim ile ilgileniyorum. Android uygulamaları C ve C ++ kullanarak nasıl geliştirebileceğimi bilmek istiyorum, C, C ++ geliştiricileri için bir kit sunduğunu okudum , ancak Java kitiyle ilgili tüm işlevleri yok. C / C ++ geliştirme kitine mi gitmeliyim yoksa gelecekte tüm işlevselliği …
47 c++  c  android 

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.