-
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...
Następne wpisy z tego wątku
- 25.07.22 15:33 Piotr Gałka
- 25.07.22 16:31 heby
- 25.07.22 18:00 Piotr Gałka
- 25.07.22 18:12 heby
- 25.07.22 20:40 Piotr Gałka
- 25.07.22 21:29 heby
- 26.07.22 13:53 Piotr Gałka
- 26.07.22 14:16 Piotr Gałka
- 26.07.22 14:55 heby
- 26.07.22 20:05 Piotr Gałka
- 28.07.22 20:55 Piotr Gałka
Najnowsze wątki z tej grupy
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
Najnowsze wątki
- 2025-03-12 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-03-12 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-12 Warszawa => Programista C <=
- 2025-03-12 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-03-12 64 proc. kierowców zrobi dodatkowo maks. 500 m, aby przy okazji zatankować pojazd
- 2025-03-12 Warszawa => Generative AI Engineer <=
- 2025-03-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-03-12 Warszawa => Gen AI Engineer <=
- 2025-03-12 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-12 Gdańsk => PHP Developer <=
- 2025-03-12 China-Kraków => Production Coordinator / Representant Product Dev <=
- 2025-03-12 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-03-12 China-Kraków => Key Account Manager IT <=
- 2025-03-12 Warszawa => Java Developer <=
- 2025-03-12 Warszawa => Junior Digital Product Manager <=