Odpověď na názor

Odpovídáte na názor k článku Programovací jazyk C3: složené datové typy a kontejnery. Názory mohou přidávat pouze registrovaní uživatelé. Nově přidané názory se na webu objeví až po schválení redakcí.

  • 24. 9. 2025 11:42

    JSH

    > To append predpoklada, ze interne bude nekdo/neco realokovat pole, ale IMHO to nevyzaduje zadny GC. Ci?

    Právě že se to bez GC komplikuje. Problém je vlastnictví paměti.
    V Go veškerou paměť vlastní Runtime/GC. Takže řezy můžou předchozí paměť zahodit bez ohledu na to odkud je. Z pohledu sémantiky kódu se vlastně žádné uvolňování paměti ani neděje. Je to jen implementační detail uvnitř runtime.

    Ve chvíli kdy je uvolňování paměti součást sémantiky kódu, tak se komplet mění situace. Najednou je třeba řešit, kdo tu paměť vlastní a je zodpovědný za její úklid. Takže ten řez by musel začít řešit, jak se zbavit toho starého bloku paměti.
    Konfigurovat ten řez (třeba skrz nějakou dependency injection) je opruz. Bez GC je praktičtější rozlišovat jen pohled + vlastnící kontejner. Třeba jako span + vector v c++.