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

1
-Fno-char8_t için MSVC eşdeğeri nedir?
C ++ 20'de u8dize değişmezleri char8_ttüre bağlıdır. Kasıtlı olarak artık dönüşmezler char const*: const char* str = u8"Hall\u00f6chen \u2603"; // no longer valid in C++20 Tabii ki, C ++ 20'ye geçerken nihai hedef tamamen yeni davranışla devam etmektir (yukarıdaki örnekte: türünü değiştirmek str). Ancak, üçüncü taraf kütüphaneler nedeniyle, bu genellikle …


1
Std :: lock_guard nasıl std :: mutex :: lock () 'den daha hızlı olabilir?
Lock_guard hakkında bir meslektaşımla tartışıyordum ve sınıfın lock_guard örneğini oluşturup unistantiate nedeniyle lock_guard'ın mutex :: lock () / mutex :: unlock () 'den daha yavaş olduğunu önerdi. Sonra bu basit testi oluşturdum ve şaşırtıcı bir şekilde, lock_guard olan sürüm mutex :: lock () / mutex :: unlock () sürümüne göre …
9 c++  mutex 

2
Güvenli şifreleme anahtarları için std :: array için özel bir ayırıcı kullanabilir miyim?
std::arrayYığında tamamen tahsis edildiğini biliyorum , ancak bu soru iki şey gerektiren güvenlik endişeleri tarafından teşvik ediliyor: İçindeki veriler std::arraysıfır veya imha üzerine rastgele olacak İçindeki veriler kilitlenecek , böylece kilitlenme veya takas belleğinde asla diske std::arraygitmeyecek Genellikle ile std::vector, çözüm yaratmaktır özel allocator bunları yapar . Ancak, std::arraybunun nasıl …

4
Doğal dilden C ++ ifadesine
Görev: Aşağıdaki doğal dil ifadelerini C ++ ifadelerine çevirin. Tüm değişkenlerin negatif olmayan sayılar veya boolean (true veya false değerine) olduğunu varsayalım. Doğal lisan: A ve b'nin ikisi de yanlıştır veya c doğrudur, ancak ikisi de değildir. Çözümüm: (a==0 && b==0)xor(c==1) Profesörler çözümü: (!a && !b) != c Sorular: Sanırım …
9 c++  logic 

1
Diğer iş parçacığında aynı eşzamanlı_vektör üzerinden yineleme yaparken eşzamanlılık :: concurrent_vector :: push_back öğesini çağırmak eşzamanlı olarak güvenli midir?
push_back , başlar , sonu eşzamanlı kasa olarak tarif edilmektedir https://docs.microsoft.com/en-us/cpp/parallel/concrt/reference/concurrent-vector-class?view=vs-2019#push_back Ancak, aşağıdaki kod öne sürülüyor. Muhtemelen eleman eklendiğinden, ancak henüz başlatılmadığından. struct MyData { explicit MyData() { memset(arr, 0xA5, sizeof arr); } std::uint8_t arr[1024]; }; struct MyVec { concurrency::concurrent_vector<MyData> v; }; auto vector_pushback(MyVec &vec) -> void { vec.v.push_back(MyData{}); } …


3
foo (geçersiz) vs foo (geçersiz *)
Konuşan İşlevsel ve sözdizimsel, prototip bir fonksiyonu arasında bir fark yoktur int foo(void)ve int foo(void *)? Örneğin, int bar(int)ve arasındaki farkları biliyorum int bar(int *)- bunlardan biri int arıyor, diğeri int işaretçisi arıyor. Does voidaynı şekilde davranır?

1
Çırpınan motor yöntemleri başka bir iş parçacığından nasıl çağrılır
Linux için flutter masaüstü kullanıyorum. MarkTextureFrameAvailableMotor denen bir dokuyu işaretlemesi gereken bir yöntem arıyorum . Bir video oynatıcı programladığım için MarkTextureFrameAvailable, oynatıcının iş parçacığından aramam gerekiyor . Sorun, motorun beni MarkTextureFrameAvailable(ve diğer herhangi bir motor yöntemini) motoru oluşturan iplikten aramaya zorlamasıdır . Motora yapılan tüm çağrıların, çağrıların çağrıyı oluşturan aynı …

1
Bu C ++ AtomicInt uygulaması doğru mu?
Öncül: C ++ 11 (ile std::atomic<int>) bile bulunmayan bir ARM gömülü (neredeyse çıplak metal) ortamla çalışıyorum , bu yüzden lütfen " sadece standart C ++ kullanstd::atomic<int> " gibi cevaplardan kaçının : Yapamam . AtomicInt'in bu ARM uygulaması doğru mu? (ARM mimarisinin ARMv7-A olduğunu varsayalım ) Bazı senkronizasyon sorunları görüyor musunuz? …

3
list :: empty () çok iş parçacıklı davranış?
Öğeleri kapmak için farklı konuların olmasını istediğim bir liste var. Muteksin liste boşken kilitlenmesini önlemek için kilitlemeden empty()önce kontrol ederim . Çağrı list::empty()% 100 doğru değilse sorun değil. Sadece eşzamanlı list::push()ve list::pop()aramaların çökmesini veya bozulmasını önlemek istiyorum . VC ++ ve Gnu GCC'nin sadece bazen empty()yanlış olacağını ve daha kötü …

3
C ++ 14'te Init Capture'larla C ++ Lambda Kod Üretimi
Anlamak / özellikle C ++ 14 eklenen genelleştirilmiş init yakalama lambdas yakalanan zaman üretilen kod kodunu açıklamaya çalışıyorum. Aşağıda listelenen aşağıdaki kod örneklerini verin, derleyicinin ne üreteceğine dair şu anki bilgim Durum 1: değere göre yakalama / değere göre varsayılan yakalama int x = 6; auto lambda = [x]() { …
9 c++  lambda  c++14  move 
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.