«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
^ () {} Ve ^ {}, C ++ 'da ne anlama geliyor?
Son zamanlarda böyle bazı C ++ kodu okudum: setData(total, &user, ^() { struct dst_t to = {ip, port}; sendData(to, data); }); getData(total, ^{ recvData(data, NULL); }); Daha önce hiç görmediğim ^() {}, ne de ^{}. Ne demek istiyorlar? Bir tür anonim işlev?
10 c++ 

5
Neden bir varyantın dizinini alamıyorum ve içeriğini almak için kullanamıyorum?
Bir varyantın içeriğine erişmeye çalışıyorum. Orada ne olduğunu bilmiyorum, ama neyse ki varyant yapıyor. Bu yüzden değişkene sadece hangi indekste olduğunu soracağımı ve bu indeksi std::getiçeriğine kullanacağımı düşündüm . Ancak bu derlenmez: #include <variant> int main() { std::variant<int, float, char> var { 42.0F }; const std::size_t idx = var.index(); auto …
10 c++  c++17  variant 

2
Salt okunur bir senaryoda boş bir sonlandırılmış dizeye ne zaman ihtiyacınız vardır?
std::string_viewKütüphane ile oynuyorum ve std::string_viewmümkün olduğunca kullanmak için üzerinde çalıştığım bir kod tabanı değiştirmeyi düşünüyorum . Ancak, iş parçacığı birçoğunda ben kullanmaya ne zaman ve nerede konusunda okuduğunuzu std::string_viewyerine const std::string &. Pek çok cevap gördüm, "Eğer boş bir sonlandırılmış dizgeye ihtiyacınız olmadığında." Web'de arama yapmaya başladığımda, "ne zaman bir …

1
C ++ 17 paralel `for_each` için konu sayısını sınırlamak mümkün müdür?
Kullanmak std::for_eacholan std::execution::paryapıların vektör olarak temsil büyük giriş karmaşık hesaplama yapmak için. Hesaplamanın donanım ile ilgili herhangi bir gecikmeye ihtiyacı yoktur (örneğin ağ veya disk IO), "sadece CPU" hesaplamasıdır. Benim için, donanım olanlara sahip daha fazla işletim sistemi iş parçacığı oluşturmanın bir anlamı olmadığı mantıklı görünüyor; ancak, Visual C ++ …

2
Farklı c ++ derleyicileri arasında otomatik türlerin yanlış eşleştirilmesi
Bu yüzden, nokta ürününü ( https://en.wikipedia.org/wiki/Dot_product ) modern C ++ 'ın bazı lezzetlerinde uygulamaya çalışıyorum ve aşağıdaki kod ile geldim: #include <iostream> template<class... Args> auto dot(Args... args) { auto a = [args...](Args...) { return [=](auto... brgs) { static_assert(sizeof...(args) == sizeof...(brgs)); auto v1 = {args...}, i1 = v1.begin(); auto v2 = …

2
C ++ ile çözüm oluşturduktan sonra VCRUNTIME140_1.dll eksik
Küçük bir metin macerası yarattım. Çözümü, Visual Studio Community 2019 ile Release ve x64 ayarlarını kullanarak oluşturdum. Oluşturulan diğer dosyaları ile birlikte * .exe dosyasını sıkıştırılmış ve VS yüklü olmayan başka bir bilgisayara gönderdi ve görüntüde gördüğünüz hata geldi. Benim pc aradım ve dosya yeni klasörde nereye yerleştirmek bilmiyorum bu …
10 c++  dll 

1
İhtiyaç ifadelerinin kapalı kapsamdaki değişkenleri “yakalamasına” izin veriliyor mu?
Aşağıdaki örnekte, işlev bağımsız değişkenleri, bunları kullanan bir ifadenin iyi biçimlendirilip biçimlendirilmediğini bir zorunlu ifadeyle test etmek için kullanılır. Zorunlu ifade hiçbir argüman almaz; doğrudan işlev kapsamındaki değişkenleri kullanır: #include <cstddef> #include <vector> template<typename T> void Resize(T &v, std::size_t const n) { if constexpr (requires { v.resize(n); }) v.resize(n); } …

2
Derleyicim kullanılmayan statik thread_local sınıf üyemi yoksaydı mı?
Sınıfımda bazı iş parçacığı kaydı yapmak istiyorum, bu yüzden thread_localözelliği için bir kontrol eklemeye karar : #include <iostream> #include <thread> class Foo { public: Foo() { std::cout << "Foo()" << std::endl; } ~Foo() { std::cout << "~Foo()" << std::endl; } }; class Bar { public: Bar() { std::cout << "Bar()" …

2
Zincirleme sırasında kopya nasıl kullanılır?
Aşağıdaki küçük örnek gibi bir zincirleme türü sınıfı oluşturuyorum. Üye işlevlerini zincirlerken, kopya oluşturucu çalıştırılır. Kopya oluşturucu çağrısından kurtulmanın bir yolu var mı? Aşağıdaki oyuncak örneğimde, sadece geçici işlerle uğraştığım ve bu nedenle "zorunluluk" (belki standartlara göre değil, mantıksal olarak) bir eleme olduğu açıktır. Seçimi kopyalamak için ikinci en iyi …
10 c++  c++14  c++17 

3
Aşağıdaki durumda, bağımlı türler için neden typen kullanmak gerekli değildir?
Burada bir tür referansı kaldırma hakkında okuyordum . Aşağıdaki örneği verir: #include <iostream> // std::cout #include <type_traits> // std::is_same template<class T1, class T2> void print_is_same() { std::cout << std::is_same<T1, T2>() << '\n'; } int main() { std::cout << std::boolalpha; print_is_same<int, int>(); print_is_same<int, int &>(); print_is_same<int, int &&>(); print_is_same<int, std::remove_reference<int>::type>(); // …

5
Dinamik bağlantı - Linux Vs. pencereler
Windows altında, MSVC'de bir DLL projesinde C / C ++ kodunu derlediğimde 2 dosya alıyorum: MyDll.dll MyDll.lib anladığım kadarıyla MyDll.libdll fonksiyonları yerleri gösteren işaretçiler tablosu bir tür içerir nerede . Bu dll kullanırken, örneğin bir exe dosyasında, MyDll.libbağlantı sırasında exe dosyasına gömülü böylece çalışma zamanında fonksiyonları nerede bulunur MyDll.dllve bunları …


2
Sayı dizilerini SWIG ile <int> & (başvuru) vektörüne dönüştürme
Amacım: Python'da 3 numpy dizisi oluşturun (bunlardan 2 tanesi belirli değerlerle başlatılır), sonra üçünü de swig yoluyla vektör referansları olarak bir c ++ fonksiyonuna gönderin (bu, verilerin üzerine kopyalanmayı ve verimliliği kaybetmeyi önlemek içindir). C ++ işlevine girdikten sonra dizilerden 2'sini ekleyin ve toplamlarını 3. diziye koyun. vec_ref.h #include &lt;vector&gt; …
10 python  c++  numpy  vector  swig 



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.