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

5
Std :: shared_ptr'nin atomik olmayan bir eşdeğeri var mı? Ve neden <memory> 'de bir tane yok?
Bu biraz iki bölümden oluşan bir sorudur, tümü aşağıdakilerin atomikliği ile ilgilidir std::shared_ptr: 1. Söyleyebileceğim kadarıyla atomik std::shared_ptrolan tek akıllı işaretçi &lt;memory&gt;. std::shared_ptrKullanılabilirin atomik olmayan bir sürümü olup olmadığını merak ediyorum (içinde hiçbir şey göremiyorum &lt;memory&gt;, bu yüzden Boost'takiler gibi standart dışındaki önerilere de açığım). boost::shared_ptrAtomik olduğunu da biliyorum ( …

4
İçe Aktarma Kitaplığı nasıl çalışır? Detaylar?
Bunun inekler için oldukça basit görünebileceğini biliyorum. Ama bunu çok net hale getirmek istiyorum. Bir Win32 DLL kullanmak istediğimde, genellikle sadece LoadLibrary () ve GetProcAdderss () gibi API'leri çağırırım. Ancak son zamanlarda DirectX9 ile geliştiriyorum ve d3d9.lib , d3dx9.lib vb. Dosyaları eklemem gerekiyor . LIB'nin statik bağlantı için olduğunu ve …
90 c++  c  windows  visual-c++ 

8
Başlıkta ve kaynakta (cpp) C ++ ad alanı oluşturma
Bir ad alanında hem başlık hem de cpp dosya içeriklerini sarmalamak veya yalnızca başlık içeriğini sarmak ve ardından cpp dosyasında ad alanını kullanmak arasında herhangi bir fark var mı ? Fark derken, sorunlara veya bilmem gereken herhangi bir şeye neden olabilecek herhangi bir performans cezası veya biraz farklı anlambilim kastediyorum. …
90 c++  namespaces 



4
Memmove neden memcpy'den daha hızlıdır?
Zamanının% 50'sini memmove'da geçiren bir uygulamada performans sıcak noktalarını araştırıyorum (3). Uygulama, sıralanmış dizilere milyonlarca 4 baytlık tamsayı ekler ve eklenen değere yer açmak için verileri "sağa" kaydırmak için memmove kullanır. Beklentim, hafıza kopyalamanın son derece hızlı olmasıydı ve memmove'da bu kadar çok zaman harcanmasına şaşırdım. Ama sonra memmove'nin yavaş …
90 c++  c  performance  memory 

2
Bu kayan nokta optimizasyonuna izin veriliyor mu?
floatBüyük tam sayıları tam olarak temsil etme yeteneğini nerede kaybettiğini kontrol etmeye çalıştım . Ben de bu küçük pasajı yazdım: int main() { for (int i=0; ; i++) { if ((float)i!=i) { return i; } } } Bu kod clang dışında tüm derleyicilerde çalışıyor gibi görünüyor. Clang, basit bir sonsuz …



6
Condition_variable.notify_one () öğesini çağırmadan önce kilidi edinmem gerekir mi?
Kullanımı konusunda biraz kafam karıştı std::condition_variable. Aramadan önce bir unique_lockon a oluşturmam gerektiğini anlıyorum . Bulamadığım şey, aramadan önce ya da benzersiz bir kilit edinmem gerekip gerekmediğidir .mutexcondition_variable.wait()notify_one()notify_all() Örnekleri cppreference.com çelişkilidir. Örneğin notify_one sayfası şu örneği verir: #include &lt;iostream&gt; #include &lt;condition_variable&gt; #include &lt;thread&gt; #include &lt;chrono&gt; std::condition_variable cv; std::mutex cv_m; int …


5
Bir lambda neden 1 bayt boyutuna sahiptir?
C ++ 'da bazı lambdaların hafızası üzerinde çalışıyorum, ancak boyutları beni biraz şaşırttı. İşte test kodum: #include &lt;iostream&gt; #include &lt;string&gt; int main() { auto f = [](){ return 17; }; std::cout &lt;&lt; f() &lt;&lt; std::endl; std::cout &lt;&lt; &amp;f &lt;&lt; std::endl; std::cout &lt;&lt; sizeof(f) &lt;&lt; std::endl; } Buradan çalıştırabilirsiniz: http://fiddle.jyt.io/github/b13f682d1237eb69ebdc60728bb52598 Çıktı: …
90 c++  c++11  lambda  c++14  sizeof 

12
C ++ 'da bir dizi dizisi nasıl bildirilir?
Statik dizeler dizisinin tüm öğelerini mümkün olan en iyi şekilde yinelemeye çalışıyorum. Numarayı takip etmek zorunda kalmadan tek satırda ilan edebilmek ve kolayca eleman ekleyip çıkarabilmek istiyorum. Kulağa çok basit geliyor, değil mi? Olası çözüm olmayanlar: vector&lt;string&gt; v; v.push_back("abc"); b.push_back("xyz"); for(int i = 0; i &lt; v.size(); i++) cout &lt;&lt; …
90 c++  arrays 

3
"Olduğu gibi" kuralı tam olarak nedir?
Başlığın dediği gibi, "Olduğu gibi" kuralı tam olarak nedir? Alınacak tipik bir cevap şudur: Programın gözlemlenebilir davranışını değiştirmeyen tüm kod dönüşümlerine izin veren kural Zaman zaman bu kurala atfedilen belirli uygulamalardan davranışlar almaya devam ediyoruz. Çoğu zaman yanlış. Peki bu kural tam olarak nedir? Standart, bu kuralı bir bölüm veya …
90 c++  c  optimization  c++-faq  as-if 

6
STL haritaları için [] operatörü sabiti neden değil?
Sorunun uğruna uydurma örnek: void MyClass::MyFunction( int x ) const { std::cout &lt;&lt; m_map[x] &lt;&lt; std::endl } [] Operatörü sabit olmadığı için bu derlenmez. [] Sözdizimi çok temiz göründüğü için bu talihsiz bir durumdur. Bunun yerine şöyle bir şey yapmalıyım: void MyClass::MyFunction( int x ) const { MyMap iter = …
90 c++  constants 

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.