eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaRynek pracy STM32Re: Rynek pracy STM32
  • Data: 2022-07-22 18:51:53
    Temat: Re: Rynek pracy STM32
    Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 22/07/2022 18:19, Piotr Gałka wrote:
    > Szczerze mówiąc to jakbym w obiekcie miał referencję a wartość GUID
    > podawał jako parametr konstruktora (jak w Twoich przykładach) to nie
    > wiedziałbym czy to jest dobrze. Dla mnie (intuicyjnie) parametry wpisane
    > w wywołanie jakiejkolwiek funkcji (również konstruktora) znikają po
    > wykonaniu funkcji.

    Skoro konstruktor przyjmuje referencję, to umawiasz się z wołającym, że
    to jego sprawa trzymać ten obiekt. Taka umowa, w przypadku używania
    referencji, jest dość powszechna i bardzo podobna do trzymania pointera.

    Dla skomplikowanych przypadków współdzielenia własności wymyślono
    smart_ptr<>, ale tutaj jest to zbędne.

    W kodzie ten obiekt jest w ogóle trzymany w zmiennej globalnej.

    > Nie lubię stosować konstrukcji co do których nie
    > jestem pewny - dlatego przypisanie referencji do czegoś znikającego to
    > nie moja bajka.

    GUIDy w przykłądzie nie zniką. Są trzymane w przestrzenie globalnej,
    inicjowane przed main() i usuwane po wyjści z programu.

    > Choć wiem, że łańcuch znaków mogę tak przekazać i przypisać wskaźnik na
    > ten łańcuch, ale wydawało mi się, że łańcuchy czasami są traktowane
    > inaczej od innych danych.

    Tutaj ten problem jest zupełnie inny gdzięki temu, że GUID jest tworzony
    i trzymany w zmiennej globalnej. Nigdzie nie zniknie.

    Niewykluczone, że na dziwacznych architekturach w ogóle powinien być
    trzymany we flashu, więc to nie jest optymalne.

    > Zapewne kompilator radzi sobie z tym doskonale tworząc jakiś obiekt
    > gdzieś tam i przypisując do niego referencję, ale ja mam wtedy wrażenie
    > że to nie ja panuję nad wszystkimi danymi. Parametry z wywołania
    > konstruktora tak normalnie uważam, że powinienem w całości skopiować do
    > danych w klasie a nie przypisać sobie referencję do nich.

    Piszesz o przypadakch "przedłużania zycia zmiennych". Tutaj to nie
    zachodzi. Specjalnie przykład jest napisany tak, aby nie było
    niejasności. Referencje są bezpieczne w tym przypadku.

    Aczkolwiek, jak powiedziałem, szablony+mixiny pozwoliły by zaoszczędzić
    4 bajty klasy bazowej w RAM kosztem kilkudziesięciu bajtów flasha...

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: