Mam ten problem że gdy czytałem o typowaniu to natrafiłem też na nazywanie np typowania statycznego "typem statycznym" i tak samo z dynamicznym
jeśli mamy np. *pa = new B to wtedy pa jest typem dynamicznym?
Generalnie czy takie nazewnictwo(typowanie dynamiczne=typ dynamiczny) jest złe?
Typowanie statyczne i dynamiczne
- Rejestracja: dni
- Ostatnio: dni
- Postów: 105
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Szczecin
Nie mam pojęcia czym jest *pa, jeśli miało to być coś w stylu
A* pa = new B; // ohydna notacja wegierska
to pa jest obiektem typu A* (czyli wskaźnikiem na A), wskazującym na obiekt, którego dynamicznym typem jest B.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 161
Moja rada zapomnij o takim podziale bo jest on tylko mylący/dezinformujący.
Trzymaj się tego że zmienna( wartość/data ) jest w pamięci stack, heap lub data.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Space: the final frontier
- Postów: 26433
A nie mylisz statycznego/dynamicznego typowania ze statyczną/dynamiczną alokacją pamięci? Bo różnica jak między piciem w szczawnicy a szczaniem w piwnicy...
- Rejestracja: dni
- Ostatnio: dni
- Postów: 8488
Typowanie statyczne i dynamiczne
Odrzuć słowo "typowanie", bo dynamicznie tutaj tworzysz obiekty co najwyżej. Typowanie to co innego. Nie wiem czy w ogóle C++ istnieje coś takiego jak typowanie dynamiczne.
Typowanie dynamiczne jest wtedy, kiedy nie deklarujesz typu zmiennej, tylko masz jakąś zmienną i ma ona typ taki, jaki jej przypiszesz. Np. w Pythonie zmienne nie mają zadeklarowanych typów, tylko jak piszesz:
foo = 3
i w ten sposób dynamicznie "przypisujesz typ do zmiennej" poprzez to, że przypisałeś do niej wartość jakiegoś typu.
używając statycznego typowania musiałbyś napisać coś jak:
int foo = 3;
tj. musiałbyś zadeklarować, że jest to liczba.
natomiast w C++ jest zdaje się coś takiego jak auto ale nie wiem dokładnie jak to działa, czy można to nazwać typowaniem dynamicznym (czy może tylko statyczną inferencją?).
- Rejestracja: dni
- Ostatnio: dni
- Postów: 5026
Podeślij artykuł, który wyjaśnia co to typ dynamiczny, bo jestem ciekaw.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Szczecin
Nie do końca rozumiem czemu czepiacie się dynamicznego typu. To standardowa nomenklatura w C++.
http://eel.is/c++draft/defns.dynamic.type
§ 1.3.7 dynamic type [defns.dynamic.type]
⟨glvalue⟩ type of the most derived object to which the glvalue refers
[ Example: If a pointerpwhose static type is “pointer to classB” is pointing to an object of classD, derived fromB, the dynamic type of the expression*pis “D”. References are treated similarly. — end example ]