• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Tablica przechowująca różne typy danych

Object Storage Arubacloud
0 głosów
2,089 wizyt
pytanie zadane 9 września 2016 w C i C++ przez Adam Olesiak Gaduła (3,290 p.)
Witam,

Potrzebuję zrobić tablicę(lub jakąś strukturę danych), która przechowa mi zmienne typu int i float. Później, kiedy program będzie korzystał z tych danych, sam będzie obliczał, czy jest to int, czy float(poprzez wskaźniki, sprawdzenie ile bitów zajmuje zmienna) i na podstawie tego wykonywałby na niej dalsze obliczenia.

Potrzebuję, aby moje zmienne były w dokładnie takiej kolejności, nie mogą być najpierw wszystkie inty, a potem wszystkie floaty.

Proszę o pomoc, z góry dzięki! ;)

6 odpowiedzi

+1 głos
odpowiedź 9 września 2016 przez niezalogowany
Jeżeli byłby w tym jakich schemat np powtarzające się (int, float, float, float) to mógłbyś użyć klasę i utworzyć tablicę obiektów o takich właściwościach (patrz int, float, float, float). Następnie dodać odpowiednie funkcje dostępu do zmiennych obiektu i ewentualnie konstruktor.
+1 głos
odpowiedź 9 września 2016 przez unknown Nałogowiec (39,560 p.)
Utwórz sobie strukturę przechowywującą te 2 zmienne a potem utwórz tablicę obiektów, albo lepiej, użyj jakiegoś kontenera z biblioteki standardowej.
"czy jest to int, czy float(poprzez wskaźniki, sprawdzenie ile bitów zajmuje zmienna)"
Bez sensu. Na większości popularnych implementacji typ float i int mają taki sam rozmiar, czyli 4 bajty. Powinieneś użyć jakiejś klasy z nagłówka type_traits: http://en.cppreference.com/w/cpp/header/type_traits (np. is_floating_point)
+1 głos
odpowiedź 10 września 2016 przez jegor377 Stary wyjadacz (13,230 p.)
możesz zrobić listę obiektów pewnej klasy generycznej, która to przechowywałaby informacje na temat typu zmiennej jako metadane. Niestety, nie byłoby już tak łatwo pobrać informacji o typie tych danych. ;)
0 głosów
odpowiedź 9 września 2016 przez Macek Kolo Mądrala (5,480 p.)
0 głosów
odpowiedź 10 września 2016 przez draghan VIP (106,230 p.)
Kontenery, klasy, sekwencje, dziedziczenie... A po co to? Nikt nie zadał pytania, do czego jest to w ogóle potrzebne, a to jest kwestia kluczowa.

Adam Olesiak - co chcesz osiągnąć przez taki zabieg?
komentarz 10 września 2016 przez CzikaCarry Szeryf (75,340 p.)

Kontenery, klasy, sekwencje, dziedziczenie... A po co to?

Kolega wyraźnie pisze, że potrzebuje właśnie tego:

Potrzebuję zrobić tablicę(lub jakąś strukturę danych), która przechowa mi zmienne typu int i float

klasy:

​ In object-oriented programming, a class is an extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).

~https://en.wikipedia.org/wiki/Class_(computer_programming)

Kontenery:

 In computer science, a container is a class, a data structure,[1][2] or an abstract data type (ADT) whose instances are collections of other objects

 ~https://en.wikipedia.org/wiki/Container_(abstract_data_type)

Widzimy tutaj wyrażenie "Data Structure", czyli dokładnie to, czego oczekuje autor wątku.

komentarz 10 września 2016 przez draghan VIP (106,230 p.)

Dziękuję za zacytowanie kilku podstawowych definicji.

Struktury danych należy dobierać zawsze w oparciu o kontekst. Tablica, przechowująca różne typy danych wygląda mi na błąd projektowy.

Ale abstrahując od tego - to wydaje mi się, że zwykła tablica liczb zmiennoprzecinkowych byłaby tutaj wystarczająca. Nie znamy kontekstu, stąd nie możemy wskazać optymalnego rozwiązania.

komentarz 10 września 2016 przez CzikaCarry Szeryf (75,340 p.)
Moje podejście do tego forum jest takie, jak sprzedawcy w jakimś sklepie np. Ogrodniczym. Jeśli ktoś mi mówi, że chce zabić rośliny w ogrodzie podam mu roundap, nie zapytam, czy chce zabić tylko chwasty, czy wszystko. Dam mu po prostu roundap który rozwiąże problem, z ktorym przyszedł, czyli problem z roślinami w ogrodzie. Nie będę go po prostu niańczył: Pyta o zabicie roślin: Podaję mu roundap, ale jeśli pyta o zabicie chwastów, podaję mu jakiś herbicyd, np. Chwastox. Nie wiem czy moje podejscie jest poprawne, ale po prostu nie potrafię tego zmienić. Pozdrawiam:)
komentarz 10 września 2016 przez draghan VIP (106,230 p.)
Mnie to forum nauczyło, że jak ktoś chce X to najpewniej chce zrobić Y, a tylko wydaje mu się, że X jest właściwym sposobem na osiągnięcie tego.
Zazwyczaj można to zauważyć ze sposobu, w jakim dana osoba wypowiada się na dany temat.
Takie podejście jest bardzo rozwijające dla obu stron.

A powiedz mi jeszcze, czy doświadczenie nie podpowiada Ci, że autor niewłaściwie podchodzi do architektury swojego budowanego systemu? Ja odnoszę takie wrażenie, dlatego zapytałem o celowość jego działań. Ale jak na razie nie wykazuje większego zainteresowania tematem.
komentarz 10 września 2016 przez CzikaCarry Szeryf (75,340 p.)

A powiedz mi jeszcze, czy doświadczenie nie podpowiada Ci, że autor niewłaściwie podchodzi do architektury swojego budowanego systemu?

Nie mam zbyt wielkiego doświadczenia, ale jak mówiłem, mam podejście takiego sklepikarza. W tym momencie gościu zapytał o coś do przemieszczania piasku. Mógł dostać taczkę, dostał wiadro. 

0 głosów
odpowiedź 10 września 2016 przez Sinnley Stary wyjadacz (12,810 p.)
Wykorzystaj unię, myślę, że się nada

Podobne pytania

0 głosów
1 odpowiedź 415 wizyt
pytanie zadane 29 kwietnia 2018 w C# przez DODO Bywalec (2,950 p.)
0 głosów
4 odpowiedzi 738 wizyt
pytanie zadane 13 października 2018 w C i C++ przez Kurczak Użytkownik (940 p.)
0 głosów
2 odpowiedzi 280 wizyt
pytanie zadane 26 kwietnia 2016 w Nasze projekty przez Qkiz Nowicjusz (200 p.)

92,536 zapytań

141,377 odpowiedzi

319,452 komentarzy

61,920 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...