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

10
32 bit döngü sayacının 64 bit ile değiştirilmesi, Intel CPU'larda _mm_popcnt_u64 ile çılgın performans sapmaları sunar
popcountBüyük veri dizilerine giden en hızlı yolu arıyordum . Ben karşılaştı çok garip bir etkisi: den döngü değişkeni değiştirme unsignediçin uint64_tbenim PC'de% 50 tarafından yapılan performans düşüşü. Kıyaslamak #include <iostream> #include <chrono> #include <x86intrin.h> int main(int argc, char* argv[]) { using namespace std; if (argc != 2) { cerr << …



25
Neden C ++ 'da sanal fonksiyonlara ihtiyacımız var?
C ++ öğreniyorum ve sadece sanal işlevlere giriyorum. Okuduğumdan (kitapta ve çevrimiçi olarak), sanal işlevler temel sınıfta türetilmiş sınıflarda geçersiz kılabileceğiniz işlevlerdir. Ancak kitapta daha önce, temel kalıtım hakkında bilgi edinirken, türetilmiş sınıflardaki temel işlevleri kullanmadan geçersiz kılabildim virtual. Peki burada ne eksik? Sanal işlevler hakkında daha fazla şey olduğunu …

6
"Şablon" ve "tür adı" anahtar kelimelerini nereye ve neden koymam gerekiyor?
Şablonlar olarak, nerede ve neden katlanmak zorunda typenameve templatebağımlı adlarına? Zaten bağımlı isimler tam olarak nedir? Takip koduna sahibim: template <typename T, typename Tail> // Tail will be a UnionNode too. struct UnionNode : public Tail { // ... template<typename U> struct inUnion { // Q: where to add typename/template …



1
C ++ 17'deki yeni özellikler nelerdir?
Kilitli . Bu soru ve cevapları kilitlidir çünkü soru konu dışıdır, ancak tarihsel önemi vardır. Şu anda yeni yanıtları veya etkileşimleri kabul etmiyor. C ++ 17 artık özellik tamamlandı, bu nedenle büyük değişiklikler yaşama olasılığı düşük. C ++ 17 için yüzlerce teklif öne sürüldü. Bu özelliklerden hangisi C ++ 17'de …
1007 c++  standards  c++-faq  c++17 

5
Tanımsız davranış ve sıralama noktaları
"Dizi noktaları" nedir? Tanımlanmamış davranış ile sıralama noktaları arasındaki ilişki nedir? a[++i] = i;Kendimi daha iyi hissetmek için sık sık komik ve kıvrımlı ifadeler kullanırım . Onları neden kullanmayı bırakmalıyım? Bunu okuduysanız, yeniden yüklenen Tanımsız davranış ve sıra noktaları takip sorusunu ziyaret ettiğinizden emin olun . (Not: Bu, Stack Overflow'ın …



23
Değişkenler neden bir switch deyiminde bildirilemiyor?
Bunu hep merak ettim - neden bir switch deyimindeki bir vaka etiketinden sonra değişkenleri açıklayamıyorsunuz? C ++ 'da değişkenleri hemen hemen her yerde bildirebilirsiniz (ve ilk kullanıma yakın olarak bildirmek açıkçası iyi bir şeydir), ancak aşağıdakiler yine de işe yaramaz: switch (val) { case VAL: // This won't work int …

5
C ++ tanımlayıcısında alt çizgi kullanma ile ilgili kurallar nelerdir?
Yerel değişkenler veya parametreler yerine üye değişkenleri olduklarını belirtmek için üye değişkenlerini bir tür önekle adlandırmak C ++ 'da yaygındır. Bir MFC geçmişinden geldiyseniz muhtemelen kullanacaksınız m_foo. Ben de myFooara sıra gördüm . C # (ya da sadece .NET) olduğu gibi, sadece bir alt çizgi kullanmanızı önerir _foo. Buna C …

7
C ++ 11'de 'typedef' ve 'using' arasındaki fark nedir?
C ++ 11'de artık s usinggibi tür diğer adları yazmak için kullanabileceğimizi biliyorum typedef: typedef int MyInt; Anladığım kadarıyla: using MyInt = int; Ve bu yeni sözdizimi, " template typedef" ifadesini ifade etme yoluna sahip olma çabasından kaynaklandı : template< class T > using MyType = AnotherType< T, MyAllocatorType >; …


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.