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

14
Scala'nın operatörünün aşırı yüklenmesini “iyi”, ancak C ++ 'ın “kötü” yapan özelliği nedir?
C ++ 'da operatör aşırı yüklenmesi, birçok kişi tarafından Kötü Bir Şey (tm) ve daha yeni dillerde tekrarlanmaması için bir hata olarak kabul edilir. Kesinlikle, Java tasarlanırken özellikle bırakılan bir özellikti. Şimdi Scala'da okumaya başladım, operatör aşırı yüklemesine çok benzeyen bir şey olduğunu görüyorum (teknik olarak operatör aşırı yüklemesi olmamasına …


7
bir vektörü diğerine kopyalamanın hızlı yolu
İki yolu tercih ederim: void copyVecFast(const vec<int>& original) { vector<int> newVec; newVec.reserve(original.size()); copy(original.begin(),original.end(),back_inserter(newVec)); } void copyVecFast(vec<int>& original) { vector<int> newVec; newVec.swap(original); } Bunu nasıl yapıyorsun?
155 c++  algorithm  stl 

10
C ++ 'da dynamic_cast ve static_cast
dynamic_castC ++ anahtar kelimesi ile oldukça karışık . struct A { virtual void f() { } }; struct B : public A { }; struct C { }; void f () { A a; B b; A* ap = &b; B* b1 = dynamic_cast<B*> (&a); // NULL, because 'a' is …
155 c++  dynamic-cast 

3
Bağımsız değişkenleri iletmek için std :: forward ne zaman kullanılır?
C ++ 0x aşağıdakilere bir örnek gösterir std::forward: template<class T> void foo(T&& arg) { bar(std::forward<T>(arg)); } Ne zaman kullanmak std::forwardher zaman avantajlıdır ? Ayrıca, &&parametre bildiriminde kullanılmasını gerektirir , her durumda geçerli mi? Ben fonksiyonu ile bildirilirse, bir fonksiyona geçici geçmesi gerektiğini düşündüm &&, bu yüzden herhangi bir parametre ile …


12
Neden C ++ 'da saf bir sanal yıkıcıya ihtiyacımız var?
Sanal bir yıkıcıya olan ihtiyacı anlıyorum. Ama neden saf bir sanal yıkıcıya ihtiyacımız var? C ++ makalelerinden birinde yazar, bir sınıf özeti yapmak istediğimizde saf sanal yıkıcı kullandığımızdan bahsetmiştir. Ancak üye işlevlerinden herhangi birini saf sanal olarak yaparak sınıf özeti yapabiliriz. Yani sorularım Bir yıkıcıyı ne zaman gerçekten sanal hale …

20
(1) Vs. for (;;) Hız farkı var mı?
Uzun versiyon... Bir iş arkadaşı , daha hızlı while (1)olan bir Perl betiğindeki kullanımımı gördükten sonra bugün iddia etti for (;;). Tercümanın herhangi bir farkı optimize etmesi umuduyla aynı olmaları gerektiğini savundum. Döngü yinelemeleri için 1.000.000.000 çalıştıracak ve aynı sayıda döngüler çalıştıracak ve arasındaki süreyi kaydedecek bir komut dosyası ayarladım. …

7
Standart komitelerin önem verdiği egzotik mimariler
C ve C ++ standartlarının dil uygulamasının tanımlı birçok yönünü bıraktığını biliyorum, çünkü diğer özelliklere sahip bir mimari varsa, bunun için standart uygun bir derleyici yazmak çok zor veya imkansız olurdu. 40 yıl önce herhangi bir bilgisayarın kendine özgü özellikleri olduğunu biliyorum. Ancak, bugün kullanılan herhangi bir mimariyi bilmiyorum: CHAR_BIT …
154 c++  c  architecture 



6
Neden std :: bir std :: shared_ptr taşıyayım?
Clang kaynak koduna bakıyordum ve şu pasajı buldum: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Neden isteyeyim std::movebir std::shared_ptr? Paylaşılan bir kaynakta sahipliği aktaran herhangi bir nokta var mı? Neden bunun yerine bunu yapmayayım? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = Value; }

3
Bir sınıf şablonunda statik üye başlatma
Bunu yapmak istiyorum: template <typename T> struct S { ... static double something_relevant = 1.5; }; ama yapamam çünkü something_relevantintegral tipinde değil. Bağımlı değildir T, ancak mevcut kod, statik bir üyesi olmasına bağlıdır S. S şablon olduğu için tanımı derlenmiş bir dosyanın içine koyamıyorum. Bu sorunu nasıl çözerim?
154 c++  templates  static 



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.