Odpověď na názor

Odpovídáte na názor ke článku Něco o callback funkcích v C++.

  • 29. 6. 2025 21:03

    linuxák

    To vůbec není o Rustu nebo C++, ale o obecném designu move. Všimni si, že v mém předchozím příspěvku není o Rustu ani zmínka, s Rustem jsi začal ty.

    Takže ještě jednou, destructive move, jako obecný design, má oproti move v C++ tyto zásadní výhody:

    • Vyšší výkon. Desctuctive move dělá jen memcpy, nevolá se žádný uživatelský ani jiný nějak generovaný kód.
    • Nulové nároky na programátora. Nemusí se o nic starat, nemusí psát žádné move constructory apod. Který z těchto přístupů vede k udržovatelnějšímu kódu, je jasné.

    C++ překladač může někdy v okrajových případech nevolat destruktor, ale většinou se volá uživatelský kód move constructoru a pak ještě destructor, což je ztráta výkonu.

    C++ komunita je si toho samozřejmě vědoma a existují návrhy, jak dostat destructive move do C++, tady je jeden z nich. Třeba se časem dočkáme destructive move i v C++.