«c++» etiketlenmiş sorular

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

7
Neden bir satırı bir satırda değişken ilan edip bir sonraki adımda ona atayın?
Sık sık C ve C ++ kodunda aşağıdaki kuralları görüyorum: some_type val; val = something; some_type *ptr = NULL; ptr = &something_else; onun yerine some_type val = something; some_type *ptr = &something_else; Başlangıçta bunun, tüm yerel değişkenleri kapsamın en üstünde açıklamak zorunda olduğunuz günlerden kalan bir alışkanlık olduğunu varsaydım. Ancak …
101 c++  c 

14
Derleyici optimizasyonlarına dayanan kod yazmak kötü bir uygulama mıdır?
Bazı C ++ öğelerini öğreniyorum ve genellikle işlev içinde oluşturulan işlevlerden büyük nesneleri döndürmek zorunda kalıyorum. Referansa göre bir geçiş olduğunu, bir işaretçi ve bir referans tipi çözümleri olduğunu biliyorum, ancak C ++ derleyicilerinin (ve C ++ standardının) bu büyük nesneleri bellekten kopyalamayı engelleyen dönüş değeri optimizasyonuna izin verdiğini de …
99 c++  performance 



8
Başlık dosyasındaki veya kaynak dosyadaki işlevleri belgelemek daha mı iyi?
Bir "kaynak" ve "başlık" dosyası (özellikle C ve C ++) arasında ayrım yapan dillerde, başlık dosyasındaki işlevleri belgelemek daha iyi olur: ( CCAN'dan gelenler ) /** * time_now - return the current time * * Example: * printf("Now is %lu seconds since epoch\n", (long)time_now().tv_sec); */ struct timeval time_now(void); veya kaynak …
86 c++  c  headers 

11
Java geliştiricileri bilinçli olarak RAII'den vazgeçti mi?
Uzun zamandır bir C # programcısı olarak, yakın zamanda Kaynak Edinimi Başlatma'nın (RAII) avantajları hakkında daha fazla şey öğrenmeye başladım . Özellikle, C # deyiminin olduğunu keşfettim: using (var dbConn = new DbConnection(connStr)) { // do stuff with dbConn } C ++ eşdeğeri var: { DbConnection dbConn(connStr); // do stuff …
82 java  c#  c++  language-design 

15
Java'nın C ++ 'dan daha hızlı olması neden mümkün olacak?
Bazen Java, ölçütlerde C ++ 'dan daha iyi performans gösterir. Tabii ki, bazen C ++ daha iyi performans gösteriyor. Aşağıdaki linklere bakınız: http://keithlea.com/javabench/ http://blog.dhananjaynene.com/2008/07/performance-comparison-c-java-python-ruby-jython-jruby-groovy/ http://blog.cfelde.com/2010/06/c-vs-java-performance/ Fakat bu nasıl mümkün olabilir? Bayt kodunun yorumlanmasının derlenmiş bir dilden daha hızlı olabileceği aklıma geldi. Birisi lütfen açıklayabilir mi? Teşekkürler!
79 java  c++  performance 

5
Neden C ve C ++ için paket yönetim sistemleri yok? [kapalı]
Paket yönetim sistemi bulunan bazı programlama dilleri vardır: TeX için CTAN Perl için CPAN Python için Pip ve Yumurta Java için Maven Haskell için kabal Yakut için taşlar NodeJS için npm frontend için bower Javascript ve CSS C # için nuget PHP için besteci Bu tür sistemlere sahip başka diller …
78 c++  c  builds  packages 

20
Optimize edilmiş kodu okunabilir kodla değiştirmek uygun mudur?
Bazen, varolan bazı kodları genişletmeniz / iyileştirmeniz gereken bir duruma girersiniz. Eski kodun çok zayıf olduğunu görüyorsunuz, ancak genişletilmesi de zor ve okumak zaman alıyor. Modern kodla değiştirmek iyi bir fikir mi? Bir süre önce yalın yaklaşımı sevdim, ama şimdi bana daha yüksek soyutlamalar, daha iyi arayüzler ve daha okunaklı, …

12
Nesneye yönelik programlamanın prosedürel programlamaya göre faydası nedir?
C gibi işlemsel diller ile C ++ gibi nesne yönelimli diller arasındaki farkı anlamaya çalışıyorum. Daha önce hiç C ++ kullanmadım, ancak ikisini nasıl ayırt edebileceğim konusunda arkadaşlarımla tartıştım. C ++ 'a değişkenlerin tanımlanması için genel ve özel modların yanı sıra nesne yönelimli kavramları da olduğu söylendi: C'nin sahip olmadığı …

11
Niçin tüm nesnelerin temeli C ++ 'ta önerilmiyor?
Stroustrup, "Derhal tüm sınıflarınız için benzersiz bir üs icat etme (Nesne sınıfı). Genellikle, çoğu / çoğu sınıf için onsuz daha iyisini yapabilirsiniz." Diyor. (C ++ Programlama Dili Dördüncü Basım, Bölüm 1.3.4) Neden her şey için bir temel sınıf genellikle kötü bir fikirdir ve ne zaman bir tane yaratmanın anlamı vardır?


6
Yakalamak (…) {atmak; } `kötü bir uygulama mı?
... Tekrar yorumlamadan yakalamanın gerçekten yanlış olduğu konusunda hemfikir olmama rağmen, bunun gibi yapıları kullanmanın inanıyorum: try { // Stuff } catch (...) { // Some cleanup throw; } RAII'nin geçerli olmadığı durumlarda kabul edilebilir . (Lütfen sormayın ... şirketimdeki herkes nesne yönelimli programlamayı sevmiyor ve RAII genellikle “işe yaramaz …
74 c++ 

19
Neden mikro performansı ve etkinliği önemsemeliyim?
C / C ++ sayfalarındaki birçok soru ve cevap, özellikle veya dolaylı olarak mikro performans sorunlarını tartışır (dolaylı veya doğrudan veya satır içi işlevinin tepegözüdür) veya üzerinde bir O (N 2 ) vs O (N log N) algoritması kullanarak 100 öğe listesi. Her zaman mikro performans konusunda endişe duymadığım ve …

3
Yeni kodda hemen hemen her yerde C ++ 17's [[nodiscard]] kullanmamasının nedeni nedir?
C ++ 17 [[nodiscard]], programlayıcıların, işlevini, geri döndürülen nesne bir arayan tarafından atılırsa, derleyicinin bir uyarı üretecek şekilde işaretlemesini sağlayan bir özellik sunar; Aynı özellik tüm sınıf tipine eklenebilir. Özgün teklifte bu özelliğin motivasyonunu okudum ve C ++ 20'nin std::vector::empty, isimlerinin dönüş değeriyle ilgili kesin bir anlam ifade etmeyen, standart …
70 c++ 

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.