«std-function» etiketlenmiş sorular

7
std :: işlev vs şablon
C ++ 11 std::functionsayesinde functor sarmalayıcıları ailesini aldık . Ne yazık ki, bu yeni eklemeler hakkında sadece kötü şeyler duymaya devam ediyorum. En popüler olanları korkunç derecede yavaş olmalarıdır. Test ettim ve şablonlarla karşılaştırıldığında gerçekten emiyorlar. #include <iostream> #include <functional> #include <string> #include <chrono> template <typename F> float calc1(F f) …


3
C ++ 11'de std :: function boş olup olmadığı nasıl doğru bir şekilde kontrol edilir?
A'nın std::functionboş olup olmadığını nasıl doğru bir şekilde kontrol edeceğimi merak ediyordum . Şu örneği düşünün: class Test { std::function<void(int a)> eventFunc; void registerEvent(std::function<void(int a)> e) { eventFunc = e; } void doSomething() { ... eventFunc(42); } }; Bu kod MSVC'de gayet iyi derlenir, ancak kodu doSomething()başlatmadan ararsam eventFuncaçıkça çöker. …
100 c++  c++11  std-function 


1
std :: işlev sabitliği
Diyelim ki böyle bir çağrılabilir türü var: struct mutable_callable { int my_mutable = 0; int operator()() { // Not const return my_mutable++; } }; Not mutable_callableolmayan bir const sahiptir operator()değiştirir üye değişkeni olduğunu ..... Şimdi varsayalım türümden bir std::functiondışarı: std::function<int()> foo = mutable_callable{}; Şimdi bunu yapabilirim: void invoke(std::function<int()> const& z) …

2
Dönüş türünü açıkça belirtmesine rağmen lambda'ya çağrı belirsiz
Aşırı yüklenmiş bir fonksiyon, lambda türünün karar verilebilir olması durumunda std::function( her ikisini de almalı (bir yanıltıcı olursam lütfen beni düzeltin)) Her iki işlevi de almalıdır . tanımlandı? ( [&]() -> Type {}) Mevcut çözümüm için referans yakalamaya ihtiyacım olduğunu, kodun bunun için mantığı içerdiğini lütfen unutmayın. Aşağıdaki örnekte sorun …
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.