«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
Pratik olarak sonsuz gibi görünen bir 'for' döngüsü
Şu anda bazı kodlarda hata ayıklama yapıyorum ve şu satırla karşılaştım: for (std::size_t j = M; j <= M; --j) (Tatilde olan patronum tarafından yazılmıştır.) Bana gerçekten tuhaf görünüyor. Bu ne işe yarıyor? Bana göre sonsuz bir döngü gibi görünüyor.
82 c++ 

5
Bir şeyi `` attığımda '' hafızada nerede saklanır?
Bir şey thrown olduğunda, yığının yakalandığı noktaya kadar 'çözüldüğünü' ve her işlev bağlamında yığındaki sınıf örneklerinin yıkıcılarının çalıştırıldığını anlıyorum (bu nedenle bir yıkıcıdan bir istisna atmamalısınız) - ikinci bir tane atabilirsiniz) ... ama bu olurken fırlattığım nesnenin hafızada nerede saklandığını merak ediyorum? Uygulamaya bağlı mı? Öyleyse, en popüler derleyiciler tarafından …


2
Sadece kendi argümanlarına genişleyen bir PROTOTYPE makrosunun amacı nedir?
İçeren bir başlık dosyam var #define PROTOTYPE(s) s Bunun anlamı ne? Görünüşe göre girişi kendisiyle değiştirecek. Orada çevresindeki diğer direktifler TON vardır, ama onu tanımlanan varsa rulman sadece kontrol ettirmek için görünen tek: #ifndef PROTOTYPE. Bunu HDF4 başlık dosyalarındaki bazı yerlerde bulundu: #define PROTOTYPE. Yani bunların hiçbiri sorumu gerçekten açıklığa …
82 c++  macros 



6
Kalıtım: "A", "B" nin erişilemez bir temelidir
$ cat inheritance.cpp #include <iostream> using namespace std; class A { }; class B : private A { }; int main() { A* ab = new B; } $ $ g++ inheritance.cpp inheritance.cpp: In function 'int main()': inheritance.cpp:9: error: 'A' is an inaccessible base of 'B' $ Sadece bu hatayı …
82 c++  inheritance 


7
Sınıf bildirimi küme parantezinden sonra noktalı virgül
C ++ sınıflarında, kapanış ayracından sonra neden noktalı virgül? Düzenli olarak unutuyorum ve derleyici hataları alıyorum ve bu nedenle zaman kaybediyorum. Bana biraz gereksiz görünüyor, ki bu durum pek olası değil. İnsanlar gerçekten şu gibi şeyler yapıyor mu: class MyClass { . . . } MyInstance; Yapılar ve numaralandırmalar için …
82 c++  class  oop  declaration 

4
İfadenin sınıf türü olmalıdır
Bir süredir c ++ 'da kodlamadım ve bu basit parçacığı derlemeye çalıştığımda takılı kaldım: class A { public: void f() {} }; int main() { { A a; a.f(); // works fine } { A *a = new A(); a.f(); // this doesn't } }


6
C ++ yapılarını başlatmanın doğru yolu
Kodumuz bir POD (Düz Eski Veri Yapısı) yapısı içerir (başlangıçta başlatılması gereken diğer yapıları ve POD değişkenlerini içeren temel bir c ++ yapısıdır.) Ben kadarıyla birini Tabanlı okumak , bu gibi görünüyor: myStruct = (MyStruct*)calloc(1, sizeof(MyStruct)); aşağıdaki gibi tüm değerleri sıfırlamalıdır: myStruct = new MyStruct(); Bununla birlikte, yapı ikinci şekilde …

8
C ++ 'da int numaralandırmanın genel yolu
Döküm için genel bir yolu var mı inthiç enumde C++? Bir intaralığına düşerse enumbir enumdeğer döndürmelidir , aksi takdirde bir exception. Genel olarak yazmanın bir yolu var mı ? Birden fazlası enum typedesteklenmelidir. Arka plan: Harici bir enum türüne sahibim ve kaynak kodu üzerinde denetimim yok . Bu değeri bir …
82 c++  casting  enums 

30
Gömülü geliştirme için C ++ yerine C kullanmak için herhangi bir neden var mı?
Soru C ++ ve C89 donanımımda iki derleyicim var Sınıflarla ancak polimorfizm olmadan (vtables'dan kaçınmak için) C ++ kullanmayı düşünüyorum. C ++ kullanmak istememin ana nedenleri: Makro tanımları yerine "satır içi" işlevleri kullanmayı tercih ederim. Önekler kodu karıştırdığından ad alanlarını kullanmak istiyorum. C ++ 'ın temel olarak şablonlar ve ayrıntılı …
82 c++  c  embedded  c89 


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.