• 0
W sumie to jaka jest różnica pomiędzy, kolejka z dwoma końcami, lista i wektorem?

Przecież w kazdej z tej struktury o ile się nie mylę, możemy dodać dynamicznie elementy na początek, środek czy to na koniec

#cpp #naukaprogramowania
@Yakooo: poprzednia odpowiedź dotyczyły listy a nie kolejki z dwoma końcami - pomyliły mi się pojęcia. w kolejce z dwoma końcami różnica jest taka, że możesz szybko wstawiać elementy zarówno na początku jak i na końcu, a w wektorze musisz wykonać więcej operacji.
  • Odpowiedz
@Yakooo:

- vector: elementy w nim są jeden po drugim w pamięci. Jak dodajesz nowe elementy gdziekolwiek, to najpierw trzeba zająć nowy, większy obszar pamięci a potem skopiować z poprzedniego stare elementy i dopiero dodać nowy. Jako optymalizacja nowy obszar jest trochę większy niż trzeba, więc nie zawsze potrzebna jest alokacja.

Że elementy są obok siebie, to by wstawić w środek, trzeba wziąć i elementy pokopiować. Te "ekstra miejsce" przy realokacji
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@VDrakkainen: o dobry pomysł! Ale jeżeli bede miał rózne typy kawy to raczej musze taką metode napisac dla każdego typu kawy? To moze stworzyc interface TypeOfCoffee z metodą calcNeededIngredients? Ale wtedy z kolei zawsze beda musialy byc w tej samej kolejności i te same składniki. A jak bedzie jakis dodatek w postaci idk czekolady to tez popsuje xd tyle pytań :D
  • Odpowiedz
Ale jeżeli bede miał rózne typy kawy to raczej musze taką metode napisac dla każdego typu kawy

@MrFisherman: Chyba sensowne ze do różnych rodzajów kawy są różne metody. Możesz stworzyć klasę kawa, a każdy typ kawy będzie po niej dziedziczył. Kawa ma metody wypij itd. może pole ilość kofeiny, wartość kaloryczna. Klasa ekspres będzie miała jedną metodę od jednego typu kawy zwracającą obiekt typu kawa(a nie któryś konkretny typ), z odpowiednimi
  • Odpowiedz
Siema, jeżeli dobrze ogarniam flexboxa, to opłaca mi się robić stronę internetową z wykorzystaniem frameworka Bootstrap, czy lepiej to robić w czystym flexsie?

Nie wiem czy napiszę teraz jakąś głupotkę, ale gdzieś słyszałem, że przed pojawieniem się flex-boxa strony budowało się głównie za pomocą floatów, ewentualnie właściwości position. Było to jednak dość problematyczne, bo trzeba było się trochę "nagimnastykować", aby zrobić dobrą, responsywną stronę. Potem na ratunek przyszedł Bootstrap, który był właśnie
@Veni: poleć mu jeszcze przepis na zupę pomidorową. Przecież *nie o to pytał*.

@maciorqa: z mojego doświadczenia wynika, że o ile strona/aplikacja nie jest projektowania ewidentnie pod bootstrapa (albo jakiś inny framework ui), to zazwyczaj lepiej ją pisać od zera. Bootstrap jest fajny do prototypowania, kiedy nie zależy ci na customowym wyglądzie a chcesz szybko osiągnąć jakiś w miarę estetyczny efekt. W przeciwnym razie będzie cię bolało, że narzuca dość
  • Odpowiedz
Mirki, mam dość elementarne zadanie, ale coś nie mam na nie pomysłu. Mam listę 5 liczb i chcę wypisać wszystkie ich kombinacje w zestawach po 3. Ogólnie mają być bez jakichkolwiek powtórzeń, ale tego to w ogóle nie wiem jak zrobić, więc potem usunę powtórzenia. Jak ktoś ma podpowiedź co do tego to też o nią poproszę bo jednak chciałbym zrobić to też w ten sposób.
Najpierw liczę liczbę zestawów 5*3. Potem
próbuję sie nauczyć c++ (co widać po moich poprzednich wpisach). narazie jestem na etapie wskaźników, i próbuję nieśmiało zrozumiec jak działa tworzenie w nich tablic (jest to dla mnie jednak troche pokręcone, bo przy wskaźnikach pojedyńczych
*wskaznik=tablica wskaźnik zwracało adres 0 elementu tablicy, a teraz wskaznik[10][15] zwraca wartosc), i teraz 3 pytania:
1) jakie biblioteki to podstawa i must have? bo znam narazie tylko iostream, cstdlib, time.h, algorithm, i arrays. ale myśle
@RedveKoronny: no jak na moje, to musisz więcej sobie uświadomić jak jest działa arytmetyka wskaźników oraz jak zbudowany jest model pamięci.

Bawić się więcej "sztucznymi"/przykładowymi przypadkami (pisząc ich kod, kompilując go i uruchamiając), a nie od razu rzucać się na implementowanie czegoś.
W twoim przypadku szczególnie potrzebujesz poznać arytmetykę wskaźników i operator sizeof.

https://pl.wikibooks.org/wiki/C/Wska%C5%BAniki_-_wi%C4%99cej
http://marek.piasecki.staff.iiar.pwr.wroc.pl/dydaktyka/pp/W05_wskazniki.pdf
Google :: arytmetyka wskaźników C OR C++
  • Odpowiedz
#naukaprogramowania #cpp
jaka jest najlepsza praktyka dla takiej sytuacji:

Class A;
Class B:A{private int field;};
Class C:A{private int field;};
Class D:A;
Class E:A;
Class F:A;
Class G:A;

Klasa B oraz C zawierają wspólną metodę, która odwołuje się składowych field, które posiadają tylko te dwie klasy.
Kopiuj-wklej tej metody jest słabym pomysłem. Tworzenie metody wirtualnej, która działaby tylko dla B i C również wydaje się słabe. Jakieś inne sugestie? Może wskaźnik na funkcję?
@ly000: Też o tym myślałem, ale nie wiem czy to nie przerost formy nad treścią jeżeli to tylko jedna zmienna i jedna metoda. Chociaż z drugiej strony może się przyda. Dzięki!
  • Odpowiedz