perfect-forwarding
Co oznacza T& & (double ampersand) w C++11?
Przyglądałem się kilku nowym funkcjom C++11 i jedną z nich zauważyłem jest podwójne ampersand w deklarowaniu zmiennych, takic ... ka wydaje się być podwójnym odniesieniem (jak podwójne wskaźniki w stylu C T** var), ale trudno mi myśleć o przypadku użycia.
dokonaj wyjątkowego i doskonałego spedycji
Dlaczego nie ma std::make_unique szablonu funkcji w standardowej bibliotece C++11? Znajduję
std::unique_ptr<SomeUserDefi ... e jestem pewien, czy to jest poprawne. Naprawdę? Co dokładnie oznacza std::forward<Args>(args)...? Co na to kompilator?
Czy Mogę zazwyczaj / zawsze używać std:: forward zamiast std:: move?
Oglądałem wykład Scotta Meyersa na temat uniwersalnych odniesień z konferencji C++ and Beyond 2012 i wszystko ma sens do tej ... ::move:
void doWork(Widget&& param) // move
{
// ops and exprs using std::forward<Widget>(param)
}
Czy wszystkie/większość funkcji settera w C++11 powinny być zapisywane jako szablony funkcji akceptujące uniwersalne odwołania?
Rozważmy klasę X z N zmiennymi składnikowymi, każdy z niektórych typów kopiowalnych i ruchomości oraz N odpowiadających im ... otetyczną zasadą "zapisywanie funkcji settera jako szablonów funkcji akceptujących uniwersalne odwołania, o ile to możliwe "?
Jak można wywołać STD:: forward na wszystkich argumentach w zmiennej funkcji?
Właśnie pisałem generic object factory i używałem meta-biblioteki preprocesora boost, aby stworzyć zmienny szablon(używając 2 ... ić, wymagałby ręcznego rozpakowywania z ...params i jeszcze nie jestem tam. Czy istnieje szybsza składnia, która by działała?
Po co używać idealnie przekazywanej wartości (functor)?
C++11 (i C++14) wprowadza dodatkowe konstrukcje językowe i ulepszenia, które dotyczą programowania ogólnego. Należą do nich t ... ekazywana, tzn. dlaczego std::forward<F>(f)(std::get...?
Dlaczego po prostu nie zastosować funkcji jako f(std::get...?
Przechwytywanie doskonale przekazanej zmiennej w lambda
template<typename T> void doSomething(T&& mStuff)
{
auto lambda([&mStuff]{ doStuff(std::forward<T> ... przechwytywania dla idealnie przekazywanych zmiennych?
EDIT: co jeśli idealnie przekazana zmienna jest pakietem parametrów?
C++ Unified Assignment Operator move-semantyka
EDIT: rozwiązany Zobacz komentarze
--Nie wiem, jak oznaczyć jako rozwiązane bez odpowiedzi.
Po obejrzeniu filmu na kanale 9 ... ła praktyka(nie sądzę, że jest sposób na sprawdzenie, czy sam przypisujesz)? Czy kompilator nie jest jeszcze gotowy?
Dzięki
Jak przydatne byłyby konstruktory dziedziczące w C++?
Kiedy siedzę na zebraniach C++ Standards committee, dyskutują oni o zaletach i wadach porzucenia konstruktorów dziedziczących ... chniczne powody, które mogłyby uniemożliwić" doskonałych konstruktorów spedycyjnych " bycie odpowiednią alternatywą?
Dzięki!
Jaki jest najlepszy sposób zmiany nazwy (alias/forward) funkcji w C++?
(ograniczę to pytanie do C++11, ponieważ uważam, że nie ma ogólnego sposobu, aby to zrobić w C++98).
Przypuśćmy, że mam skom ... ób:
namespace NS1{namepsace NS2{
ALIAS_FUNCTION(NSA::fun, gun); // second argument (target name can't have namespace)
}}