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

9
Neden benzersiz anonim türlere sahip bir dil tasarlayasınız?
Bu, beni her zaman C ++ lambda ifadelerinin bir özelliği olarak rahatsız eden bir şeydir: Bir C ++ lambda ifadesinin türü benzersiz ve anonimdir, basitçe yazamam. Sözdizimsel olarak tamamen aynı olan iki lambda oluştursam bile, ortaya çıkan türler farklı olarak tanımlanır. Sonuç şudur: a) lambdalar yalnızca derleme zamanına, konuşulamayan türün …

5
Sabit'e bir işaretçi silme (T const *)
Const işaretçileriyle ilgili temel bir sorum var. Const işaretçisi kullanarak const olmayan herhangi bir üye işlevi çağırma iznim yok. Bununla birlikte, bunu bir const işaretçisinde yapma iznim var: delete p; Bu, özünde const olmayan bir 'yöntem' olan sınıfın yıkıcısını çağıracaktır. Buna neden izin veriliyor? Sadece bunu desteklemek için mi: delete …

3
shared_ptr büyü :)
Bay Lidström ve ben tartıştık :) Bay Lidström'ün iddiası, bir yapının Base'in shared_ptr<Base> p(new Derived);sanal bir yıkıcıya sahip olmasını gerektirmediğidir: Armen Tsirunyan : "Gerçekten Will Shared_ptr ? Eğer etkileyen nasıl yansıdığını gösteren bu durumda lütfen Could doğru temizlemek" Daniel Lidström : " shared_ptr , Concrete örneğini silmek için kendi yıkıcısını …

14
C ++: Enum değerini metin olarak yazdır
Böyle bir numaram varsa enum Errors {ErrorA=0, ErrorB, ErrorC}; Sonra konsola yazdırmak istiyorum Errors anError = ErrorA; cout<<anError;/// 0 will be printed ama istediğim şey "ErrorA" metni, if / switch'i kullanmadan yapabilir miyim? Ve bunun için çözümünüz nedir?
91 c++  enums 

8
"Windows SDK sürüm 8.1" bulunamadı hatası nasıl düzeltilir?
Yakın zamanda Visual Studio 2015'i güncelledim ve şimdi herhangi bir proje oluşturmaya çalıştığımda her zaman başarısız oluyor ve hata alıyorum Önem Kodu Açıklama Proje Dosyası Satır Gizleme Durum Hatası MSB8036 Windows SDK sürüm 8.1 bulunamadı. Windows SDK'nın gerekli sürümünü yükleyin veya proje özellik sayfalarında veya çözüme sağ tıklayıp "Yeniden hedefleme …

8
Windows kayıt defterinden bir değer nasıl okunur
Bazı kayıt defteri değerlerinin anahtarı verildiğinde (örneğin, HKEY_LOCAL_MACHINE \ blah \ blah \ blah \ foo) nasıl yapabilirim: Böyle bir anahtarın var olduğunu güvenle belirleyin. Programlı olarak (yani kodla) değerini alır. Kayıt defterine herhangi bir şey yazmak gibi bir niyetim yok (kariyerim boyunca yardımcı olabilirsem). Yani kayıt defterine yanlış yazarsam …
91 c++  windows  winapi  registry 

6
C ++ işlev şablonu kısmi özelleştirme?
Aşağıdaki kodun bir sınıfın kısmi bir uzmanlığı olduğunu biliyorum: template <typename T1, typename T2> class MyClass { … }; // partial specialization: both template parameters have same type template <typename T> class MyClass<T,T> { … }; Ayrıca, C ++ 'nın işlev şablonu kısmi uzmanlaşmasına izin vermediğini biliyorum (yalnızca tam olarak …

2
Bu nedir (( ))?
Gcc derleyici kaynak koduna (gcc / c-family / c-pragma.c) göz atarken şunu görüyorum: typedef struct GTY(()) align_stack { int alignment; tree id; struct align_stack * prev; } align_stack; ve arkamda birçok C programlama yılı olmasına bakılmaksızın, bu parçalar: (())henüz benim için tamamen bilinmemektedir. Lütfen birisi ne demek istediğini açıklayabilir mi? …
90 c++  c 

16
İ ++ 'nın iş parçacığı güvenli olmadığını duydum, ++ i iş parçacığı güvenli mi?
İ ++ 'nın iş parçacığı güvenli bir ifade olmadığını duydum, çünkü derlemede orijinal değeri bir yerde geçici olarak depolamaya, artırmaya ve sonra değiştirerek, bir bağlam anahtarı tarafından kesintiye uğrayabilir. Ancak, ++ i'yi merak ediyorum. Anlayabildiğim kadarıyla bu, 'r1, r1, 1 ekle' gibi tek bir montaj talimatına indirgenecek ve sadece bir …
90 c++  c  multithreading 

10
if ifadesi - kısa devre değerlendirmesi ve okunabilirlik
Bazen, bir ififade oldukça karmaşık veya uzun olabilir, bu nedenle okunabilirlik açısından karmaşık çağrıları if. örneğin bu: if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall()) { // do stuff } bunun içine bool b1 = SomeComplicatedFunctionCall(); bool b2 = OtherComplicatedFunctionCall(); if (b1 || b2) { //do stuff } (verilen örnek o kadar da kötü …



10
C ++ ile bağlayıcı dilini belirleyemiyor
Hem Visual Studio 2010 hem de Cygwin ile Windows 7 x64'te bir merhaba dünya programı çalıştırmaya çalışıyorum, ancak ikisi de işe yaramıyor gibi görünüyor. Dizin yapım aşağıdaki gibidir: HelloWorld -- CMakeLists.txt -- src/ -- -- CMakeLists.txt -- -- main.cpp -- build/ A ve cd buildardından a yazıyorum ve bunu cmake …
90 c++  c  cmake 

6
Lambda ifadesi döndüren işlev
C ++ 11'de bir lambda işlevi döndüren bir işlev yazmanın mümkün olup olmadığını merak ediyorum. Elbette bir sorun, böyle bir işlevin nasıl beyan edileceğidir. Her lambda'nın bir türü vardır, ancak bu tür C ++ 'da ifade edilemez. Bunun işe yarayacağını sanmıyorum: auto retFun() -> decltype ([](int x) -> int) { …
90 c++  function  c++11  lambda 


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.