Obiekty A bedą miały zawsze taką samą wielkość. Bo w klasie masz (prawdopodobnie) tylko wskaźnik do tablicy wskaźników obiektów tworzonych operatorem new. Te obiekty są poza klasą. no dokladnie :)... w klasie A tylko wskaznik, z ktorego robi sie pozniej tablica za pomoca new :D... tylko, ze jest to wskaznik do obiektow... a nie wskaznik do tablicy...
W C++ możesz użyć klasy [url=http://en.cppreference.com/w/cpp/co... albo [url=http://en.cppreference.com/w/cpp/co... [syntax=cpp] #include <vector> // ... std::vector<oceny> wektor_ocen; wektor_ocen.push_back (oceny (1)); wektor_ocen.push_back (oceny (2)); std::cout <<...
Obie metody są dobre. W metodzie A definiujesz wskaźnik na tablicę obiektów typu struktura, a następnie alokujesz pamięć na 10 tego typu obiektów. I to jest metoda prostsza. Metoda B jest bardziej złożona. Nie alokujesz od razu jednej tablicy na wszystkie elementy, ale tworzysz tablicę wskaźników, z których każdy dopiero wskazuje na obiekt typu struktura,...
Tu wyrzuca błąd: Unhandled exception at 0x00412045 in program.exe: 0xC0000005: Access violation reading location 0x0000000f. Jakie masz wartości zmiennych indeksujących carNumber i i w momencie wywalenia się programu? Może one wykraczają poza swój zakres w tym momencie?
po takiej deklaracji w sekcji .ssitag lądują wskaźniki do tej tablicy, a nie sama tablica, jak wymusic żeby całosć tam wylądowała? Musiałbyś albo w tablicy umieścić nie napisy ("...") tylko po prostu wskaźniki do tych napisów (osobnych obiektów), z których każdy miałby również ten atrybut. Druga opcja to zrobienie tablicy tablic (obecnie masz tablicę...
Witam, Zastanawiam się dlaczego nie jest możliwe utworzenie wskaźnika na tablice obiektów klasy pochodnej: pojazd * wsk = new samochod[3]; gdzie rzecz jasna class samochód : public pojazd Taki kod wysypuje się podczas destrukcji tablicy: delete [] wsk; Pozatym: Jak poprawnie zadeklarować tablice wskaźników (a nie wskaźnik na tablice)...
Zmiany sa tylko lokalnie w metodzie bo z tego co pamiętam to nie dostaje ona wskaźnika do obiektu a kopie obiektu. Ale to - totalna bzdura, metoda dostaje właśnie wskaźnik do obiektu a nie jego kopię. Racja pomyliłem się. W przypadku obiektów przekazywana jest kopia ale wskaźnika. Dlatego przypisanie nowego obiektu to tego wskaźnika nie powoduje zmiany...
obserwowane *tab Zaraz... tablica wskaźników do obiektów? A gdzie masz jakąś instrukcję new? Bo nie widzę... Zrób tablicę obiektów, zamiast wskaźników do obiektów :) A jeszcze lepiej, olej w ogóle tablicę i zró to tak, jak przystało na C++ - sugeruję szablon List albo Vector. Będziesz mógł wtedy posługiwać się wygodnymi iteratorami :)
Zrób liste obiektów "osoba" opartą na wskaźnikach. Albo "bardziej profejsonalnie" byłoby zrobić obiekt "zarządca_listy", który przechowuje wskaźnik do pierwszego elementu i ma metody typu "dodaj" i "usuń".
Jestem raczej początkujący w tej dziedzinie z tąd to pytanie. dzięki za odpowiedź. Kombinowałem i wybrałem jeszcze inne rozwiązanie, a mianowicie tablica wskaźników(a tak pisze gdyby ktoś jeszcze kiedyś szukał). Tworze sobie obiekty klasy poleceniem new i tworze do nich wskaźniki znajdujące się w tablicy(vector). Tym sposobem mam wskaźnik do każdego...
Do tablicy nie są wpisywane obiekty a wskaźniki do nich. Wskaźniki niestety wskazują śmieci w pamięci, bo im nie przypisałeś żadnej konkretnej wartości, np. tak: [syntax=cpp]Figura( int ile ) { ile_punktow = ile; ile_p = 0; tablica = new Punkt*[ile]; // stworzenie obiektów i przypisanie ich wskaźników do tablicy for( int i = 0; i < ile; i++ ) { tablica[i]...
Takiego czegoś nie można raczej zrobić: Co miała by robić ta ostatnia instrukcja? Utworzenie tymczasowego obiektu tor i podstawienie (skopiowanie) do tablicy? Skoro potem używa się zestaw jako tablicy to i utworzenie tego jako tablice: [syntax=cpp]tor* zestaw; zestaw=new tor[ilosc];[/syntax] jest potrzebne. Problem polega na tym, że by można było utworzyć...
Rety, przecież to jest C++. A dlaczego nie użyć operatorów new do tworzenia obiektów (i zapisywania wskaźników w tablicy), a delete do ich kasowania? Pozdrawiam.
Nie wiem ja Ty tam uważasz, ale zbudowałbym sobie kalendarzyk w oparciu o obiekty ( nie masz tego w kodzie ) a tak chyba najprościej to zrobić Powiedzmy obiekt TRok, wewnątrz lista lub tablica wskaźników do obiektów typu TMiesiac a w miesiacach to juz tylko TDzien który obrazuje konkretna data. Każdy dzień, miesiąc, rok ma własne metody i właściwości...
Zacznijmy od tego, że masz tablicę wskaźników a nie wskaźnik na tablicę. Po co masz zwracać zmodyfikowaną tablicę, działasz na niej za pomocą wskaźnika i ona sama jest zmodyfikowana po wykonaniu operacji.
Ale ograniczenie składni (a co dopiero brak wskaźnikowania (indexowania)) to już przegięcie. Indeksowanie.. tablice owszem istnieją, ale jako obiekty. Wskaźniki są zastąpione referencjami. Nie ma możliwości dowolnego grzebania po pamięci, dzięki czemu wypada nam cała klasa algorytmów, jak zarządzanie pamięcią (java narzuca swój alokator o którym pisałem)...
Doczytałem, że ma 24, lub 32-bitowe wskaźniki, więc nie będzie problemu, teraz jak zadeklarować tym tablicę? Rozmiar wskaźnika, a rozmiar obiektu (tablicy) to dwie różne sprawy. Nie uzyskasz na AVR obiektów większych niż 32kB. Chcesz większe obiekty to albo musisz je złożyć z mniejszych tak jak próbowałeś na początku, albo zlinkować binarny plik i...
To będzie wyglądało mniej-więcej tak; definiujesz tablicę wskaźników do obiektów: TEdit * tab[ile]; wypełniasz ją: tab[0]=&Edit1; tab[1]=&Edit2; itd A następnie do poszczególnych editów odwołujesz się w ten sposób: tab[0]->Text="adasasdf"; (nie pamiętam w jaki sposób BCB definiuje komponenty, jeżeli tak nie zadziała spróbuj: tab[0]=Edit1; tab[0].Text="adasasdf";...
Z cpp jestem świeży ale jakieś próby gier na tabelce/szachownicy zaliczyłem. Przede wszystkim przestrzeń zorganizuj jako tablicę 9x9. Żadnych oddzielnie istniejących pól. Do wszystkiego tablice identycznie numerowanych wskaźników. Jeśli w OOP to pewnie będzie to tablica obiektów.
W C# chyba do wszystkich klas odwołuje się przez referencje, tylko do typów prostych nie. Tak w skrócie. Jeśli w C# tworzysz tablice: Klasa[] x = new Klasa[3]; To stworzysz tablice referencji na Klasy, więc to jest C++'owy odpowiednik tablicy wskaźników. Potem przypisujesz tylko odpowiednim polom referencje na Klasa.
Tak, jak napisałeś, to sie raczej nie kompiluje. Deklaracji klas dokładnie nie analizowałem, ale tablica powinna być tablicą wskaźników. de facto niejawnym wskaźnikiem czyli referencją.
Wzorce projektowe nie mają poprawiać czytelności, tylko gwarantować niezawodność kodu (IMHO). Polimorfizm jest do zrobienia - w każdej strukturze (klasie) masz wskaźnik do tablicy funkcji (vtable) i zamiast wywoływać funkcje bezpośrednio korzystasz z tablicy wskazywanej przez strukturę. Wygląda to jeszcze gorzej niż brzmi, więc zamiast od razu skreślać...
Proszę o pomoc z sortowaniem tablicy wskaźników na obiekty różnych typów. Tablica działa poprawnie, niestety sortowanie - nie. Przypuszczam, że zamiast skutecznie zamieniać miejscami wskaźniki w tablicy ja sortuję kopie tych wskaźników, ale próby zmian kończą się protestami kompilatora. W tekście zapytania umieszczam problematyczny kod z głównej funkcji,...
Yakhub: wsk->wsp_x //dokładnie taka notacja.. co do definicji wskaźnika samego do siebie można zrobić wskaźnik typu void a potem go rzutować..
Nie chciałbym mieć pół miliona dzieci ;p - Dzień dobry, jestem ojcem 10 dzieci i muszę znaleźć pracę - Dobrze, a co jeszcze umie pan robić? Myślę, że algorytm jest dobry jeśli faktycznie powierzchnia ściany jest mała. Jednak przy dużej to wymaga kompletnie innego podejścia. Wziąłbym pierwszy wiersz, podzielił na kwadraty i dla każdego poszukał, czy...
Jeżeli są tworzone dynamicznie to możesz do nich robić wskaźniki: int wskaznik[10]; for(index = index_Ile; index<10; index++) { *wskaznik[index] = new Button(); // czy jakoś tak (jeżeli namieszałem to przepraszam ale pisze w QT a nie w Builderze) } . Wówczas po kolei w tablicy wskaźnik znajdują się...
Podpinasz obiekt pod wskaźnik, a gdy umieścisz go w tablicy to same będą się zliczały. Przepraszam za brak polskich liter ale odroid coś fiksuje.
Nie da rady. Zwróć uwagę, że w zasadzie typ argumentu funkcji nie jest taki sam, jak typ zmiennej globalnej (tablica), a tylko kompatybilny (de-facto wskaźnik na tablicę, chociaż to taka namiastka referencji w C). Jedynie możesz "zenkapsulować" obiekt, tzn. stworzyć globalną strukturę ze wskaźnikiem na tablicę i rozmiarem i coś takiego przekazać do...
Sprawa jest prosta: orientowac sie w asemblerze (wiedziec co w trawie piszczy), znac dobrze C - to jest podstawa. A jak ktos lubi moze sie douczyc roznych wynalazkow. Oczywiście że tak. Chociaż odwróciłbym to. Znać dobrze asembler, i orientować się w C. Prosta sprawa c + asembler = zrobimy wszystko. Jednak bascom (wogóle Basic) naprawdę uczy złych...
Witam, Uzupełniam braki w niektórych zagadnieniach związanych z C++ i akurat wziąłem na tapetę wskaźniki do funkcji. Mam problem ze składnią potrzebną do stworzenia dynamicznej tablicy wskaźników na funkcje. Bo tak: Umiem zadeklarować i użyć wskaźnika do funkcji. Umiem zrobić też tablicę wskaźników do funkcji, tyle że jedynie statyczną a nie dynamiczną....
To tak: Dajesz argument do konstruktora fstream, a przecież wcześniej ten obiekt stworzyłeś (przed pętlą). Powinieneś mieć więc zrobić coś takiego:
Epokowe odkrycie to nie jest, zapewne wszystko co już było do napisania na ten temat zostało już (gdzieś - tylko gdzie :) ) napisane... Dziedziczenie i polimorfizm to podstawy, "hermetyzacja" to kwestia podziału nagłówków na interfejs (publiczny) i implementację (prywatny). Dziedziczenie robi się tak: struct klasaBazowa { int atrybut1; };...
myślałem o instrukcjach wybory switch(x) w której to argument x byłby poziomem w menu, a w tych switch(x) były by zaś takie same switch(y) gdzie y to byłby poziom podmenu ale niewiem czy takie coś to dobre myślenie. Za dużo niepotrzebnego kodzenia, lepszy wyborem jest pewna struktura opisująca obiekt, bardzo przydatne wskaźniki na funkcje, wskaźniki...
bez gwiazdek char *napis[10] = {"HELLO"}; -> to jakies ufo - wskaznik na tablice ewentualnie tablica wskaznikow [; powinno byc: char napis[]="HELLO"; LCD_WyslijLitery(*napis); -> kolejne ufo (podstawy c), do funkcji powinienes przekazac adres pierwszego elementu, a tak sie sklada, ze nazwa tablicy jest wskaznikiem na pierwszy element, czyli: LCD_WyslijLitery(napis);...
" TShape tab Musi działać. Tworzysz sobie tablicę wskaźników do TShapa, lokujesz je dynamicznie a identyfikujesz każdego np poprzez jego Tag. Pracowałem na tablicach z około 1500 obiektów utworzonych na podstawie dziedziczenia TShapa i wszystko działało łącznie ze zdarzeniami OnClick, OnMouseMove itp
Delete możesz stosować tylko do obiektów tworzonych przez new i jest to jedyny rozsądny sposób tworzenia pól-tablic w klasie. Jeśli piszesz w Visual Studio 2005 lub nowszym to możesz pisać pod .NET i masz wtedy Garbage Collector (gcnew). Z tego co pamiętam, to pisząc obiektowo w C++ w ogóle wszystkie pola klasy powiny być wskaźnikami i powinny być tworzone...
Zastanawiam się nad sensem istnienia wskaźnika do całej tablicy. No bo i tak zmienna wskaźnikowa przechowa adres pierwszego elementu takiej tablicy, nie może przechować 3 adresów naraz czy coś w tym stylu... Więc np. takie coś: T jest adresem pierwszego elementu o typie int a ps wymaga adresu do 3 int, co nie istnieje bo nie ma jednego adresu do 3 obiektów...
W sumie wynika z tego, obsługa przerwania w C++ nie jest banalna :/ Popatrz na to tak - gdybyś chciał w zwykłym C osiągnąć to samo, tzn. mieć dostęp do jakichś zmiennych w strukturze od "czegoś" (bufory, ustawiona prędkość, ...) to byłoby to równie niebanalne. Generalnie C++ nie jest prostym językiem. Jeśli obiekty danego interfejsu masz globalne,...
Przepraszam za ilość informacji. Język C++, komponenty to nic innego jak przyciski i inne obiekty w aplikacji (programowanie w środowisku graficznym). Chcę stworzyć dwuwymiarową tablicę komponentów Shape (kwadraciki na formularzu) do których mógłbym się odwoływać za pomocą wskaźnika.
-Os to nie jedyna optymalizacja. Przypuszczam, że różnice wynikają z dużej ilości nieużywanych funkcji lub danych. AS kompiluje z opcjami umożliwjącymi ich automatyczne usunięcie, PN prawdopodobnie nie. Zagadka w miarę prosta do rozwiązania, wystarczy wygenerować listę obiektów z ich rozmiarami z pliku elf i porównać.
Jeżeli stosować się do porady kolegi wyżej można by zastosować tablice tylko dwu-wymiarową.Chcąc mieć 3 poziomy wystarczy nam 3x n gdzie n będzie ilością funkcji danego poziomu a ostatni trzeci odnosnikiem do konkretnych funkcji (za pomocą właśnie wskaźnika) Przyznam że pomysł fajny i relatywnie prosty szkoda że sam tak nie robiłem w moim systemie...
Zgodnie z podpunktem 9 p. 6.5.6 oba odejmowane wskaźniki muszą wskazywać na elementy tej samej tablicy lub na element tuż za tablicą. Jeszcze podpunkt 7 mówi, że na potrzeby punktu 6.5.6 wskaźnik do obiektu, który nie jest tablicą, liczy się jak wskaźnik do tablicy elementów danego typu o długości 1. Czy (char*) NULL wskazuje na obiekt? Zgodnie z punktem...
Ale wskaznik to przeciez adres w pamieci i kompilator wie czy w programie sie do niego odwoluje czy nie, to po co najpierw laduje wszystki zmienne/stale do pamieci i nie sprawdza czy wogole sa wykorzystane w programie. A|leż sprawdza. Przecież satworzyłeś tablicę wskaźników na poszczególne znaki. Skoro się chociaż raz odwołałeś do tej tablicy, to kompilator...
Dodatkowym kosztem jest to, że obiekty z metodami wirtualnymi "kosztują" dodatkowe 2 bajty (1 wskaźnik) na obiekt. Jeśli chodzi o new i delete, to można je osobno implementować dla każdej klasy - czyli obiekty pewnych klas można np. alokować z tablicy statycznej zamiast malloc-owania pamięci. Nawet bez obiektów C++ bez ma inne zalety (np. template'y,...
Musisz sobie zachować parametr przekazany do konstruktora jako właściwość (pole) obiektu. Innej opcji (poza nieprzenośnymi, niskopoziomowymi sztuczkami grzebiącymi w stercie) nie ma. Operatorem sizeof też tutaj nic nie wskórasz, bo on zwraca rozmiar obiektów (typów) znanych w trakcie kompilacji - czyl sizeof(Lista) == 4, bo Lista jest wskaźnikiem a...
dzięki za pomoc krzychoocpp, mam jeszcze jeden problem, chciałbym utworzyć statyczną tablicę stałych obiektów, ale zainicjalizować ją przy pomocy typu wyliczeniowego - jakoś w taki sposób jak w przykładzie poniżej: //--- plik slowo.h --- #ifndef SLOWO_H #define SLOWO_H class slowo { public: enum {znak_a=0, znak_b=1, znak_c=2}; static...
Brawo! Podziwiam nakład pracy włożony w tą grę! Zmartwię Cię jednak: gra nie jest napisana w stylu orientowanym obiektowo, o który zapewne Ci chodziło. Przeczą temu stylowi brak enkapsulacji (wszystkie zmienne składowe klas publiczne!) oraz brak efektywnego wykorzystania polimorfizmu. Wskazujesz, co prawda, wskaźnikiem klasy "statek" na obiekty klas...
Bo tab nie jest wskaźnikiem, tylko adresem tablicy. Tablica dwuwymiarowa w C (C++) to nie to samo, co tablica wskaźników do tablic (trzeci przypadek), chociaż odwołanie do elemntu wugląda tak samo (ale nie działa tak samo). W drugim przypadku tab jest adresem tablicy, której elemantami są tablice. Wobec tego *tab jest adresem pierwszej tablicy (wewnątrz...
Ciągle używasz tablicy "mac" jakby była zwykłą tablicą dwuwymiarową, którą NIE jest. Nie możesz się odwołać do "mac[x][y]", bo dostaniesz to co poprzednio - śmieci lub segmentation fault. Proponuję stworzenie klasy, która opakuje tablicę a nawet udostępni metodę obliczającą określony minor. Jako podkładkę warto poszukać w googlach coś w deseń "C++ matrix...
Z drugiej strony najprzyjemniejszy OS byłby taki, ktorego uzywa się równie łatwo co QThread'ów QThread to przecież lekka abstrakcja nad POSIX, zapewne bardzo podobna do std::thread. Do zalet trzymania się standardu łatwo się przekonać - wystarczy np zauważyć, że mając na mikrokontrolerze pthread i runtime POSIXowy można na nim z powodzeniem uruchomić...
OK, już się kompiluje z g++. Ale problem nadal pozostał i ten skrócony przykład go dobrze ilustruje. Jak tworzę tablicę wskaźników na typ bazowy to przeładowane operatory nie widzą tego, że w tablicy są wskaźniki na klasy pochodne. Wciąż uruchamia się tylko przeładowany operator dla klasy bazowej. Mam korzystać z przeładowanego operatora ale ja nie...
obiekcie poza wskaźnikiem next jest tablica. Chodzi mi o sam fragent kodu w procedrze usuwającej. Jeśli jest to tablica statyczna to będzie pamięć zwolniona automatycznie, jeśli masz tam wskaźnik do pamięci alokowanej dynamicznie wewnątrz objektu, to musisz uwzględnić zwalnianie w destruktorze objektu.
Wystarczy jak dodasz destruktor do klasy dane, który będzie kasował te obiekty, na które wskazują wewnętrzne wskaźniki. To jest zresztą typowe zastosowanie destruktora - porządki. Przykład: [syntax=C]void ~dane(void) { delete [] w1; delete [] w2; }[/syntax]
Heh, trudno tak przez neta tłumaczyć coś, co się normalnie tłumaczy rysująn na kartce :( Choć była tu kiedyś taka gimnazjalistka, co świetnie potrafiła algorytmy rozrysowywać, to by pewnie umiała wytłumaczyć Ci, na czym polegają listy... Generalnie jest to zbiór obiektów połączonych w łańcuszek - każdy wskazuje na następny (ale tylko w jedną stronę)....
Witam, ma zaprojektować słownik (<map>), który zwraca tablicę (<vector>) wskaźników na obiekty klasy Slav * odpowiadające kluczowi zwrqacanemu przez enum. Enum mam, jestem świadom, że zwraca int. A mój kod wygląda tak: [syntax=c]vector<Slav *>vectorOfObjects; map<int,vector<Slav *>>mapOfObjects[/syntax], gdzie Slav to klasa....
Tzn, że program może działać dalej poprawnie a debuger wskazuje na to, że jesteśmy w np HardFaultHandlerze ? Mógłbyś nieco rozwinąć myśl ? Czasem może być jakiś problem sprzętowy/programowy/systemowy, który może spowodować wywalenie się debuggera, który będzie np. uparcie twierdził, że jesteśmy wciąż w jakiejś linii, choć mikrokontroler sobie wtedy...
Kompilator nie znalazł funkcji void WyświetlPlansze(int, int), bo nie była zdefiniowana. Jest tylko prototyp tej funkcji w pliku ruch.h. Zdefiniowałeś funkcję o tej nazwie void WyświetlPlansze(int gracz_X, int Pole[2]) - ale ta funkcja nie jest tą zadeklarowaną - to jej przeciążona "siostra" - zamiast dwóch argumentów typu int przyjmuje int i tablicę....
char (*temp) Gdy mam zwykły wskaźnik np. int *wsk; to przecież nie oznacza że tworzy on miejsce w pamięci dla zmiennej int tylko dla jej adresu. Tak samo char(*temp) Dodano po 10 Intuicyjnie czuje ze moje rozumowanie jest bledne. Szukam tylko gdzie i dlaczego...
Witam. Uczę się programowania w c++ z "Symfonii C++". Mam problem z jednym z zadań podsumowujących z działu "wskaźniki". Proszę o pomoc w rozwiązaniu tego zadania. Napisz funkcję, która zarezerwuje 10 elementową tablicę, a jej adres przekaże wskaźnikowi o nazwie linijka. Ma to być tablica, w której można przechowywać wskaźniki do tablic znaków. Następnie...
Oj, szkoda, że tu nie zaglądałem od pewnego czasu. Kolego Moderatorze pol102 (nigdzie nie znalazłem imienia)! Przede wszystkim musisz zdecydować, jakiego stylu programowania chcesz się uczyć. Jeżeli jest Ci potrzebne programowanie blisko sprzętu (sterowniki dedykowane, mikrokontrolery, moduły jądra), z dwóch powodów doradzam programowanie proceduralne...
Zupełnie naplątałeś... Po pierwsze, nie przejdzie *ple=99.1 . Dlaczego? Bo 'ple' jest wskaźnikiem na unsigned int , więc kompilator nie będzie przypisywał ci wartości zmiennoprzecinkowych do typu całkowitego, więc otrzymujesz ekwiwalent przypisu *ple=99; ... Po drugie, czy ty może dysponujesz debuggerem? Wypadałoby sprawdzić co dzieje się z pamięcią...
1. Kod, tak jak pokazałeś, to proste/czyste C nie C++, więc właściwie powinieneś się dookreślić... 2. Jeżeli C - przekazywanie tablic do funkcji odbywa się przez wskaźnik i funkcja operuje bezpośrednio na przekazanej tablicy, a nie na jej kopii - nie ma zatem potrzeby (i możliwości) jej zwracania. Tym bardziej funkcja typu int nie może zwrócić wyniku...
Dobrze, błąd znalazłem. Znajdował się dość głęboko, więc trochę to trwało i jak zwykle był to szczegół. Na szczęście nie było to wyjście za tablice :). Błąd polegał na tym, że pierwotne obiekty odświeżały się po każdej zmianie. Usuwając najpierw bramkę a potem odświeżając obiekty to miały one jeszcze wskaźnik do niej. Trzeba było zrobić odwrotnie, najpierw...
Żeby porównywać do NULLa musiałbyś mieć CPionek*** plansza czyli plansza jest dwuwymiarową tablicą wskaźników na pionki. Wtedy wskaźnik na pionka może być NULLem. Zamiast zagłębiać się w szczegóły implementacji planszy zastanów się najpierw jakie chcesz mieć klasy w programie i jakie powinny wspierać operacje... Później zastanowisz się, jak to zaimplementować....
nie wiem jak działa instanceof w javie ale przechowywanie referencji do innych obiektów czy klas to żaden problem. Deklarujesz sobie jakikolwiek obiekt, który zawiera tablicę wskaźników nawet typu Pointer. W najprostszym z możliwych przypadków bierzesz sobie zwykłą i popularną StringList'ę. Można w niej przechowywać zarówno stringi jak i liczby (wielkości...
mam tablicę o nazwie Image: Array http://obrazki.elektroda.net/69_12125836...
Proszę o pomoc z następującym problemem. Nie wiem jak w C++ należy poprawnie sprawdzać czy wskaźnik został przypisany do czegoś czy nie. W ANSI C wskaźniki miały po stworzeniu wartość NULL, w C++ wskazują na losowy fragment pamięci. W moim programie tworzę tablicę wskaźników na obiekty klasy i dopiero kiedy jest potrzeba to przypisuję im adres nowego...
Wiele jest pozytywnych efektów użycia wskaźników: 1. Łatwość manipulacji danych (zamiast przepisywać całe obiekty celem zamiany ich miejsc wystarczy tylko zamiana wskaźników; łatwiej przekazać do funkcji wskaźnik, niż cały obiekt) 2. Możliwość korzystania z dużych obszarów pamięci w sposób dynamiczny (rezerwujesz dokładnie tyle pamięci, ile w danej...
Moje rozwiązanie jest trochę inne. Najpierw bym zczytał zawartość danego ciągu z pliku do jakiejś tablicy a następnie przeprowadziłbym sortowanie tej tablicy. Jak już to będzie zrobione to pobrałbym pierwszą liczbę do licznika i przesuwając wskaźnik po kolejnych elementach tej tablicy inkrementowałbym licznik aż odczytana wartość się zmieni. Jak się...
Witam. Mam pewną płaską powierzchnię 1x2 metry. Z odległości 50-300cm chce kierować na nią "pilot" (wskaźnik, źródło światła, podczerwieni... - cokolwiek co mogę łatwo trzymać w dłoni), aby uzyskiwać informację, który punkt na mojej powierzchni "wskazałem". Pomyślałem o umieszczeniu szeregu czujników podczerwieni równomiernie na całej powierzchni, każdy...
(...) Bezpośrednia odpowiedź na pytanie Aby w węźle Function (Node-RED) przekazywać dalej tylko określoną liczbę elementów w zależności od godziny wywołania (zgodnie z logiką: 1. godzina → 1 element, 2. godzina → 4 elementy, 3. godzina → 8 elementów, itd.), możesz użyć poniższego przykładowego kodu JavaScript. Zakładamy, że: • msg.payload zawiera tablicę...
To ma bardzo często sens. Np. timery trzeba czasem włączyć w podsystemie zegarowym czy np skonfigurować im tam podzielniki. No i teraz do wszystkich funkcji "zewnętrznych" przekazywany jest wskaźnik, więc ten wskaźnik najpierw jest przekształcany w prosty indeks, a następnie ten indeks może zostać wykorzystany do wyciągnięcia z jakieś stałej tablicy...
Dodaj jeszcze receptę jak zaimplementować metody wirtualne Recepta: W wczesniej opisanej przykładowej strukturze udającej obiekt można zadeklarować wiele wiszących wskaźników - na inne typy (struct) lub funkcje. Gdy teraz postawimy jakiś wskaznik na funkcję z struktury A na funkcję która była dedykowana strukturze B, to mamy metody wirtualne... Wskazniki...
Zdaje się że nie za bardzo rozumiem to co napisałeś: W sposobie #2 hlp jest wskaźnikiem na element obiektu typu tablica? tylko jak później wywołać te wartości ? Powiedzmy że w jakiejś innej procedurze wywołuję funkcję : LP(10, 220, 44100); wówczas tworzy się moja tablica. Jak teraz nie wywołując znów LP(....) mam wydostać na przykład 3ci, 4ty oraz 5ty...
Jako argumenty podajesz obiekty typu MAT, a nie widzę nigdzie w bibliotekach zadeklarowanej biblioteki obsługującej MAT. Chyba że są one w standardowych bibliotekach (nie wydaje mi się). Poza tym, program nie będzie działał, źle napisane są funkcje jeżeli chcesz użyć funkcji wprowadź, to jako argumenty podaj wskaźniki, inaczej wprowadzisz dane do zmiennych...
Przeniosę to przerwanie i tablice do plików .c. Ale wtedy w pliku głównym .c mam includować plik przerwania .c? Myślałem, że tam inkluduje się tylko pliki .h Nie musisz include'ować pliku .c, a nawet nie powinieneś. W Makefile dopisz go tylko do plików źródłowych (SRC = $(TARGET).c przerwanie.c inny_plik.c itd.) a linker odwali resztę roboty. Zostało...
Witam, na wstępie chciałbym zaznaczyć, iż podobne tematy będące już w sieci nie udzielają odpowiedzi na moje pytanie. Mianowicie: jak zapisać dość złożony obiekt (zawierający w sobie tablice pól wskazujące na inne klasy, które posiadają podklasy z nich dziedziczące) do pliku? Używając strumieni udaje mi się zapisać jedynie pojedyncze pola wskazując...
A jak próbujesz je zwalniać? Zwróć uwagę na to, że nie wolno wołać metody Destroy, tylko Free - i zaraz po niej ustawienie ew. wskaźnika na nil. Zainteresuj się też właściwością Form1.ControlCount oraz tablicą Form1.Controls , np.: for i:= 0 to Form1.controlCount-1 do if (Form1.Controls[i] is TLabel) then TLabel(Form1.Controls[i])...
Po drugie większość obiektów możesz, a nawet wręcz musisz sobie wektorowo narysować. Taki przycisk rysowany wektorowo to tylko kilkanaście bajtów typu: położenie, wymiary, typ przycisku, stan, kolor, wskaźnik na tekst, czy ewentualnie wskaźnik na grafikę która go wypełnia. A po trzecie, taka funkcja rysująca przycisk/inny obiekt zmienia tylko stan...
Między "???????" a PYTANIE dopisałem pewne treści!!!! Wiem, ze pod char *opis nie jest umieszczany cały tekst, tam jest umieszczany dwubajtowy wskaźnik do początku tego tekstu. To jest ta sama zasada jak w const char *napis menu pozycja_nr to to samo co napis menu pozycja_nr to to samo co napis Pomiędzy ??????? a PYTANIEM opisałem co odkryłem pod tym...
int *funkcja(int par1, int par2, int par3,int par4,int par5) { int wynik[2]; // jakieś tam obliczenia na przesłanych danych wynik[0]=2; wynik[1]=11; return wynik; } Na przyszkość: Zdecydowanie odradzam tego typu praktyki - tablica jest tworzona na stosie, z funkcji zwracasz wskaźnik, jeszcze poprawny, ale w...
Nie masz zdefiniowanego operatora przypisania ani konstruktora kopiującego dla macierzy. Domyślny operator skopiuje wskaźnik na zaalokowaną dynamicznie tablicę, ale ta tablica zostaje zwolniona w momencie wyjścia z funkcji. W rezultacie zgubisz wskaźnik do tablicy C zaalokowanej z main(), a dostaniesz wskaźnik do zwolnionej pamięci - czyli śmieci.
Jeśli masz ich stałą i niewielką ilość to wystarczy po prostu takie statyczne zapisanie, jak podałeś wcześniej. Jeśli masz dynamiczną ilość lub bardzo dużą, to TForm udostępnia coś takiego jak tablicę Components . Wystarczy więc na początku przelecieć ją (od 0 do ComponentsCount-1 ) i wobec obiektów, które są ( is ) TLabel, dodać do swojej listy labele....
Funkcje wirtualne nie zastępują wskaźników na funkcje - to są wskaźniki na funkcje, czyli technika programowania niekiedy konieczna, której jednak, o ile to możliwe, należy unikać Proceduralne programowanie również jest techniką programowania. Niesie ono również narzut na wykonanie programu. Jednak każdy z nas (chyba każdy:)) godzi się na ten narzut...
Proszę o pomoc z następującym problemem. Mam plik, w którym są zapisane obiekty z różnych klas (potomnych wobec klasy Czlowiek). Plik poprawnie je zapisuje. Ale mam problem z odczytem. Odczyt ma być zrobiony następująco: 1. program sprawdza jaka liczba jest na początku danego wiersza 2. w zależności od tej liczby odczytuje do końca wiersza elementy...
Katalog główny Ostatnią organizacyjną częścią partycji jest katalog główny dysku (root directory), zawierający nazwy plików oraz informacje o ich wielkości i pierwszym zajmowanym klastrze. Po katalogu głównym dysku znajduje się największa część partycji służąca do przechowywania danych. Wyszukiwanie plików na dysku zaczyna się od katalogu głównego....
2 pierwsze symbole nie są nawet użyte (albo ja tego nie widzę) a linker ich nie wywalił. Funkcje te są częścią inicjalizacji/deinicjalizacji biblioteki języka C. Są użyte pośrednio, przez wskaźniki. na moje niewprawne oko to przynajmniej te 4 pierwsze symbole są zupełnie zbędne. Trzecia funkcja jest wrapperem na main, a czwarta odpowiada za globalną...
Troszkę Ci dopisałem i słownik wyświetla albo polskie albo angielskie wyrazy :) Faktycznie było małe niedomówienie odnośnie tego adresu zwracanego przez funkcje... Beluosus ma racje że są to obiekty lokalne i są usuwane, chodz mi pare razy działało takie rozwiązanie :P Ale usunąłem na wszelki wypadek to, i dane są zwracane prze wskaźnik a nie przez...
Jak w temacie, mam zadanie: – zadeklarować strukturę o nazwie Pisarz zawierającą następujące pola: int rok_urodzenia, char imie – zadeklarować strukturę o nazwie Ksiazka zawierającą następujące pola: char tytul – stworzyć funkcję typu void o nazwie getPisarz wywoływaną z parametrem typu Pisarz i wypisującą na konsoli komunikat zawierający...
Coś zrobiłem nie tak? strcat(uzyt,PathFind); strcat(uzyt,"/places.sqlite\0&q... Nie widzę definicji uzyt, ale z wcześniejszych postów wróżę jest to obiekt klasy string, którego brutalnie nadpisałeś ciągiem znaków z ścieżki. Ciekawy jestem czy nie dostałeś ostrzeżeń podczas kompilacji, ponieważ funkcja strcat spodziewa się jako...
Wskaźnik to nic innego jak zmienna przechowująca adres innej zmiennej (lub tablicy, struktury, obiektu). Stosowana jest po to, o czym pisał frohme.
Przy tym założeniu idea użycia dynamicznej tablicy całkiem traci sens - bo po co tu dynamika? Dlatego przecież pisałem też o std::array<>. std::vector<> nie sprawdza błędów, tzn. nie ma takiego wymogu. Mnie chodzi o zarządzanie zasobami. A nie zgodzę się, w przypadku operatora new to jest oczywiście prawda, ale jest też inny sposób alokacji...
Musisz zastosować tablice dynamiczną, można to zrobić na kilka sposobów w zależności czy ma to być zrobione dobrze czy szybko i co ma się potem dziać z liczbami. Przedstawie kilka wariantów. 1. Lista łączona, zdefiniuj strukture która zawiera liczba oraz wskaźnik na tę strukture. Dołączanie elementu polega na zaalokowaniu dla niego pamięci, wpisaniu...
albo się wie co robi, albo nie robi wcale Po prostu popełniłeś bardzo poważny błąd w założeniach. "const" nie służy do wskazania, że dany obiekt jest we flash - "const" przy wskaźniku mówi tylko i wyłącznie tyle, że funkcja przyjmująca taki wskaźnik nie będzie modyfikowała tego na co tenże wskazuje. Tym samym wskaźnik na "const" może wskazywać na zmienną...
Jest jeszcze inny problem - referencja zwracana przez operator elem_ref& svect::operator[](un... i) { elem_ref* rv = new elem_ref(...); return *rv; }; Teraz ktoś musi być odpowiedzialny za zwalnianie obiektów typu elem_ref. Może być to sam wektor, lub jeśli zabroni się kopiowania obiektów typu elem_ref, to...
Cały dzień już siedziałem nad tą jedną linijką kodu i do niczego nie doszedłem, prosiłbym o pomoc. Jak odczytać zmienne znajdujące się wewnątrz obiektów typu Punkt? Mam dwie klasy, jedna "niższa" - Punkt przechowuje jedną zmienną typu time_t i jedną tablicę dwuelementową typu double. Druga klasa Przejazd przechowuje wektor obiektów typu Punkt, posiada...
a mi się zdaje ze delete aaa; usunie tylko pierwszy obiekt tablicy żeby usunąc cała tablice trzeba użyć delete aaaa W tym przypadku - jeżeli new utworzyło całą to i delete usunie całą (stworzyliśmy jeden obiekt zawierający kilka elementów a nie kilka pojedynczych). Jeśli idzie o konstrukcje typu malloc - używanie ich jest w c++ możliwe, ale niepotrzebnie...
Jeśli są to je po prostu wskaż a nie bij piany typu "może, ale nie musi". Tylko nie pisz o kasie, bo ta "troska" wyrażana przez osobę nie znajacą obiektu powala na kolana. Nie wiem czemu odpowiadasz w takim stylu. Nie atakuję Cię tylko staram sie rzetelnie tłumaczyć zagadnienie. Piszę jakie jest prawo i nie oceniam. W wielu miejscach tablice mają sens,...
Witam! Mam pewien problem z przeciążeniem operatora . W przypadku prostych obiektów jakoś sobie radzę, ale ten przykład jest dość skomplikowany: Mam sobie dwie klasy, a właściwie szablony. Generalnie jeden jest listą powiązaną podwójnie, drugi pojedynczym elementem listy. Lista posiada działającą metodę zwracającą wskaźnik do index -tego elementu listy...
Szczerze mówiąc, to nie zauważyłem, żeby procesor jakoś mulił specjalnie, na liczeniu radianów czy sin, cos ale używałem ARMa, może AVR już by miał problemy przy kilku obiektach. Widzę, że kolega Duch__ ma świetną platformę roboczą, może spróbowałby umieścić kod biblioteki w swoim programiku i wyświetlić coś na ATMedze8. Byłoby to na pewno ciekawe i...
tablicy wskaźnik wskaźnik tablicy wskaźnik tablicy znaków
regulacja nacisku igły rozebrać klapa pralka rozjaśnianie ekranu samsung
traktorek silnik briggs traktorek silnik briggs
Toyota Corolla sedan - kontrolka ręcznego świeci się podczas jazdy Podkaszarka spalinowa gaśnie po naciśnięciu gazu