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

11
C ++ 'da dizeyi char dizisine dönüştürme nasıl yapılır?
Ben dönüştürmek istiyorum stringiçin chardizinin ancak char*. Dizeyi char*(kullanarak mallocveya kodumda yayınladığım şekilde) nasıl dönüştüreceğimi biliyorum - ama istediğim bu değil. Ben sadece dönüştürmek istediğiniz stringiçin char[size]diziden. Mümkün mü? #include <iostream> #include <string> #include <stdio.h> using namespace std; int main() { // char to string char tab[4]; tab[0] = 'c'; …

2
Libc ++ 'da kısa dizgi optimizasyonunun mekaniği nelerdir?
Bu cevap , kısa dizgi optimizasyonuna (SSO) ilişkin güzel bir üst düzey genel bakış sunar. Bununla birlikte, pratikte, özellikle libc ++ uygulamasında nasıl çalıştığını daha ayrıntılı olarak bilmek isterim: SSO'ya hak kazanmak için dizenin ne kadar kısa olması gerekir? Bu hedef mimariye bağlı mı? Dize verilerine erişirken uygulama, kısa ve …



2
std :: shared_ptr bunun
Şu anda akıllı işaretçilerin nasıl kullanılacağını öğrenmeye çalışıyorum. Ancak bazı deneyler yaparken doyurucu bir çözüm bulamadığım şu durumu keşfettim: B sınıfından bir nesnenin (çocuk) ebeveyni olan A sınıfı bir nesneniz olduğunu düşünün, ancak her ikisi de birbirini tanımalıdır: class A; class B; class A { public: void addChild(std::shared_ptr<B> child) { …

13
C ++ 11 için sıra-zip işlevi?
Yeni aralık tabanlı for döngüsü ile aşağıdaki gibi kod yazabiliriz for(auto x: Y) {} Hangi IMO bir olan dev gelen gelişme (ex.) for(std::vector<int>::iterator x=Y.begin(); x!=Y.end(); ++x) {} Pythons zipişlevi gibi iki eşzamanlı döngü üzerinden döngü yapmak için kullanılabilir mi? Python'a aşina olmayanlar için kod: Y1 = [1,2,3] Y2 = [4,5,6,7] …
104 c++  c++11  sequences 

7
C ++ 'da cout, Cerr, clog of iostream header arasındaki fark nedir? Hangisi ne zaman kullanılır?
Ben arasındaki farkı araştırma çalıştı cout, cerrve cloginternette ama mükemmel bir cevap bulamadık. Hangisini ne zaman kullanacağım konusunda hala net değilim. Biri bana basit programlarla açıklayabilir ve hangisinin ne zaman kullanılacağına dair mükemmel bir durumu örnekleyebilir mi? Ziyaret ettim bu siteyi üzerinde küçük bir program gösterir cerrve clogaynı zamanda kullanılarak …
104 c++  iostream  cout  clog 

9
Yeni standart sürümlerle C ++ 'da hiç sessiz davranış değişiklikleri oldu mu?
(Listeyi değil, noktayı kanıtlamak için bir veya iki örnek arıyorum.) C ++ standardındaki bir değişikliğin (örneğin 98'den 11'e, 11'den 14'e vb.) Mevcut, iyi biçimlendirilmiş, tanımlanmış davranışlı kullanıcı kodunun davranışını sessizce değiştirdiği hiç oldu mu? yani, daha yeni standart sürümle derlerken herhangi bir uyarı veya hata olmadan? Notlar: Uygulayıcı / derleyici …

6
Vektör <bool> neden bir STL kapsayıcısı değil?
Scott Meyers'in Etkili STL kitabının 18. Maddesi : Standart Şablon Kütüphanesi Kullanımınızı Geliştirmenin 50 Özel Yolu,vector &lt;bool&gt; bir STL konteyneri olmadığı ve gerçekten bools tutmadığı için kaçınmanız gerektiğini söylüyor . Aşağıdaki kod: vector &lt;bool&gt; v; bool *pb =&amp;v[0]; STL kapsayıcılarının bir gerekliliğini ihlal ederek derlenmez. Hata: cannot convert 'std::vector&lt;bool&gt;::reference* {aka …

6
Bilinmeyen boyutta bir std :: dizisini bir işleve geçirme
C ++ 11'de, bilinen türde ancak bilinmeyen boyutta bir std :: dizisi alan bir işlev (veya yöntem) yazmaya nasıl başlayabilirim? // made up example void mulArray(std::array&lt;int, ?&gt;&amp; arr, const int multiplier) { for(auto&amp; e : arr) { e *= multiplier; } } // lets imagine these being full of numbers …
104 c++  c++11  stdarray 

3
C ++ 14, C ++ 'ya yeni anahtar sözcükler ekliyor mu?
C ++ Standartları Komitesi dile yeni anahtar kelimeler eklemekten çekinme eğilimindedir, ancak C ++ 11 ile durum böyle değildi. Bazı örnekler: constexpr decltype thread_local auto // New usage noexcept nullptr static_assert alignof alignas C ++ 14 ile sunulan yeni anahtar kelimeler var mı?
103 c++  c++11  keyword  c++14 

4
Shared_ptr nerede?
Shared_ptr'nin nerede olduğunu bulmaya çalıştıktan birkaç saat sonra şu anda çok sinirliyim. Gördüğüm örneklerin hiçbiri, başlıkları içeren shared_ptr(ve çalışan) tam kod göstermiyor . Basitçe belirterek std, tr1ve &lt;memory&gt;hiç yardımcı olmuyor! Takviyeleri indirdim ve hepsi ama yine de görünmüyor! Birisi tam olarak nerede bulacağımı söyleyerek bana yardım edebilir mi? Hayal kırıklıklarımı …

2
Hata durumunda 'pi' sembolünü gösteren derleyici
Coliru'da bazı kodları test ediyordum ve garip bir çıktı aldım. Kodu inceledim ve bu basit kod parçasıyla yeniden üretebilirdim : int main() { &amp;pi; } G ++ üzerindeki çıktı: clang: Örneğin, yalnızca pi(adresi olmadan) kullanılması beklenen sonucu gösterir: main.cpp:3:5: error: 'pi' was not declared in this scope pi; ^ Bunu …
103 c++  coliru 

4
Neden herkes standart C türleri yerine yazıyor?
Kullanmak isterseniz Qt , sen kucaklamalısın quint8, quint16benzeri ve. GLib'i kullanmak istiyorsanız, hoş geldiniz guint8, guint16vb. On Linux vardır u32, s16benzeri ve. uC / işletim tanımlar SINT32, UINT16ve benzeri biçimde. Ve bunların bazı kombinasyonlarını kullanmak zorunda kalırsanız, belaya hazırlıklı olsanız iyi olur. Üzerinde Çünkü makineniz u32edilecektir typedefüzerine d longve quint32olacak …
103 c++  c  stdint 

5
C ++ 'da garantili geçici ömür?
C ++, bir işlev çağrısı içinde oluşturulan ancak bir parametre olarak kullanılmayan geçici bir değişkenin yaşam süresi için bir garanti sağlıyor mu? İşte örnek bir sınıf: class StringBuffer { public: StringBuffer(std::string &amp; str) : m_str(str) { m_buffer.push_back(0); } ~StringBuffer() { m_str = &amp;m_buffer[0]; } char * Size(int maxlength) { m_buffer.resize(maxlength …
103 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.