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...
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,...
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...
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ń".
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 <<...
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ć...
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...
(...) 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ę...
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.
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...
Jeśli masz wskaźnik klasy bazowej możesz wywoływać jedynie metody klasy bazowej. Ok, ale zależy mi na umieszczeniu w tablicy wskażników dzieci (kilku różnych obiektów, których jedyną wspólną cechą jest dziedziczenie po jednym rodzicu). Czy w jednej tablicy mogą znaleźć się obiekty klas dziecko1, dziecko2, dziecko3? Nie bardzo widzę sens takiego dziedziczenia...
A właśnie, jeszcze jeden problem mi przyszedł do głowy: Funkcja sprawdzająca, czy na polu o zadanych współrzędnych znajduje się drzewo i (ewentualnie) jaki ma ono numer (który wskaźnik w tablicy pokazuje na nie) Czy da się to zrealizować inaczej (szybciej i bardziej elegancko) niż przeszukując po kolei każde drzewo i porównując jego współrzędne z zadanymi?
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...
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ę...
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...
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...
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?
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...
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ę...
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);...
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)...
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.
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...
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ć...
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 :)
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]...
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...
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...
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)...
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.
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...
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:
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...
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...
Witam, a mówiłem żeby się nie męczyć z WinAPI :P No ale jak ktoś lubi hardcore i nieprzespane noce :) Rozwiązanie z tablicą to nie jest dobry pomysł. Kiedy zamkniesz jedno z otwartych okien, w tablicy zostanie HWND nieistniejącego okna. U Ciebie nie działa bo nawet jeśli funkcja CreateWindow wywoła się prawidłowo to zwiększasz li i ShowWindow dostaje...
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.
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.
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...
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; };...
Robisz najprościej tablicę elementów TImage i odwołujesz się jak do normalnego image o nazwie będącej zmienną. Wszak To jest dokłądnie to samo. Czemu wskaźnik? for(int i=0;i<10;i++) ImagesTable[i]=TImage->Create... . . . for(int i=0;i<10;i++) ImagesTable[i]->Free()... (mogę mieszać, nie uzywam...
udaje mi się to jedynie tylko w tej petli w której go uzyskuje (tam gdzie jest token i wsk z jego zawartością ) a nie moge odesłac zawartosci wsk w innej funkcji Jakiej pętli? Chodzi Ci o funkcję "analizuj_dane_id"? Niestety, ale bez znajomości podstaw języka C daleko nie zajdziesz... albo będzie Cię to kosztowało sporo nerwów ;) "wsk" jest wskaźnikiem...
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 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";...
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...
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.
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...
zamiast funkcji [syntax=cpp]void move_lewo()[/syntax] musisz miec [syntax=cpp]void move_lewo(void* Args)[/syntax] void* to nie to samo co void. void oznacza brak, void* oznacza wskaznik na cokolwiek. void ma 0 bajtów void* ma rozmiar int (czasami bedzie 4 bajty czasami 8 bajtow) void* to sposób wskazników który nie ogranicza Cie w typach, może on wskazywać...
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ż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...
tablicy wskaźnik wskaźnik tablicy wskaźnik tablicy znaków
wyświetlacz numeryczny wędrujący punkt drukowanie excel makro
interfejs delphi mercedes regulacja biegów
Porównanie skuteczności filtrów CLC i CRC w tłumieniu tętnienia Pilot do tunera Yamaha TX-592 RDS: dostępność i alternatywy