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
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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
  • Odpowiedz
@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
Czesc, mam wydaje mi się proste zadanie.
Muszę pobierać stringa i szyfrować go szyframi harcerskimi.
No łatwe, ale zastanawiam się czy da się to szybciej robić, bo aktualnie pobieram stringa, lecę forem po nim i szukam liter, plus muszę sprawdzać małe i duże i zamieniać. Więc przy 3 szyfrach wychodzi całkiem sporo ifów, i jest jakiś inny sposób by to lepiej działało?
#cpp #naukaprogramowania
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Yakooo: typedef polega na tym że możesz sobie stworzyć przezwisko do jakiegoś typu tak żeby nie używać całej długiej nazwy, bo często jest to niewygodne oraz nieczytelne. Tutaj twoim typem jest std::sharedptr, za pomocą typedef ustawiasz mu ksywkę AddressPtr. I teraz zamiast tamtego długiego wszędzie gdzie potrzebujesz sharedptr możesz pisać AddressPtr.

A jeśli się pytasz o to co to jest shared_ptr to jest to inteligentny wskaźnik czyli taki
  • Odpowiedz
Mam pytanie bo troszku się pogubiłem...
Mam za zadanie stworzyć dwóch klientów, raz przy pomocy konstruktora bezparametrowego i raz za pomocą parametrowego. Jeśli dobrze rozumiem, parametrowy to ten, gdzie przypisałem w nawiasie pola, a ten bezparametrowy, to bez przypisanych w nawiasach parametrów. Tylko w jaki sposób mam to wywołać?

Pierwszy sposób parametrowy rozumiem, że Client Emil("Emil", "Andrzejewski","9125151515");
A bez parametrowo jak mam stworzyć drugiego?

#naukaprogramowania #programowanie
Yakooo - Mam pytanie bo troszku się pogubiłem...
Mam za zadanie stworzyć dwóch klien...

źródło: comment_1587862829r6i9pWjMaVeJWF083PXWZ8.jpg

Pobierz
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Mario852:
Do jakich rzeczy, do nauki programowania? Rzeczywiście, strasznie dziwne XD
Powiem Ci więcej, większość programistów zaczynało od C/C++ i na dużej części studiów, właśnie uczony jest C++

A projekty jakie są, takie są..
Jakoś trzeba ogarnąć podstawy, konstruktory, dziedziczenie, polimorfizmy, STLe itd. Mają już jeden projekt ogarnięty i rok w rok, każdy rocznik to robi, więc najwidoczniej muszą uważać, że idzie się tu
  • Odpowiedz
Mirki z #programowanie jeśli w #cpp mam float z ReadProccessMemory w postaci 1.4737393e-10 itd jest to postać naukowa (tak na necie piszą) to jak go mam przekształcić do string? Nie mogę ani tego gówna zaokrąglić a jak daję std::to_string() to wypluwa mi 0.00
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam problem z CLionem, dopiero do niego przysiadłem, nigdy nic przy nim nie robiłem...

Mam projekt, który składa się z dwóch podkatalogów, Biblioteka i Program i CMakeLists.txt
Biblioteka:
Include - Pliki nagłówkowe
src - Ciała tych klas etc
Yakooo - Mam problem z CLionem, dopiero do niego przysiadłem, nigdy nic przy nim nie ...

źródło: comment_1587764154FTFhPUrN900Xi4Oyuqk86a.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Yakooo: stawiam na to co wyżej napisałem, albo nie dodałeś katalogu Program do głównego CMakeLists.txt, albo w CMakeLists.txt w katalogu Program dodając main.cpp nie dopisałeś, że znajduje się on w katalogu src. Co do samego CMake'a to trzeba trochę czasu poświęcić, żeby się z nim zaznajomić, ale ciężko o jakiś większy projekt bez żadnego narzędzia do automatyzacji budowania.
  • Odpowiedz
Przeszukałem wszystko, nie znalazłem odpowiedzi co robię nie tak - mirko pomusz.
String z pierwszej linijki konwertuje na const char* - widoczny w drugiej linijce.
Kończy się na zwrocie "'ÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝݜҦx'"

Dlaczego? Coś robię nie tak?

Potrzebuję
psposki - Przeszukałem wszystko, nie znalazłem odpowiedzi co robię nie tak - mirko po...

źródło: comment_1587672900Z82AUoIwRiLuO2yAl69JKf.jpg

Pobierz
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@JakTamCoTam: Zostawiam zostawiam, jeszcze jakieś hasła do wyszukiwania dorzucę:
c++ konwersja string na char problem
cpp konwersja string na char problem
cpp problem konwersja string na char
c++ convert string to char problem
c++ convert string to char doesn't work
c++ convert string char nie działa
  • Odpowiedz
Jakie max zarobki seniora #programista15k są możliwe w polsce? Zakładam że jedna z top technologii(javascript, C#, Java, C++) i jedno z dużych miast. Tak obserwuję oferty i wygląda na to że max to marne 18k na ręke na b2b(po opłaceniu wszystkich danin) ale i tak jest mało takich ofert.

Mirasy, gdzie szukać dobrze płanych ofert?

#programista15k #programowanie #javascript #csharp #dotnet
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Treść przeznaczona dla osób powyżej 18 roku życia...
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Jak się efektywnie uczyć #cpp mając duże doświadczenie w c# i dobrą znajomość tego jak jest zarządzana pamięć? Może jakiś projekt? Tylko jaki żeby nie wpaść na zbyt głęboką wodę? #programowanie
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Mazowia: jesli uwazasz ze Cpp i C# maja podobny syntax to przed Toba jeszcze dluga droga xD Czytaj duzo ksiazek, w cpp tzreba sobie zbudowac porzadne podatawy teoretyczne na poczatek. To nie jest jezyk jak C# czy js ze mozna klepac projekcik i sie uczyc na biezaco
  • Odpowiedz
@psposki: Zgaduję, że kompilator nie widzi definicji getdatapath, bo powinieneś był napisać properties::getdatapath w definicji poniżej.
Na kompilację w C i C++ należy patrzeć jako przetwarzanie pojedynczego pliku źródłowego o rozszerzeniu .c/.cpp. Pliki nagłówkowe są dosłownie wklejane do plików źródłowych. Jak zainkludujesz properties.h, to kompilator widzi tylko auto getdatapath() i nie wie, co ta metoda ma zwracać.
Ogólnie nie powinno się używać auto do rzeczy widocznych publicznie.
(Poza tym
  • Odpowiedz
@psposki: Ogólnie najlepiej jest, jeśli nietemplatowy kod wykonywalny jest w plikach cpp, a w nagłówkach są definicje typów i stałych, deklaracje wolno stojących funkcji (ze słowem kluczowym extern) oraz templatki. Projekt jest akurat takiego rozmiaru, żeby rozbić go na dwa pliki cpp i nauczyć się, jak to działa. Ważne jest, żeby nauczyć się, które konstrukcje tworzą coś, co istnieje w programie wynikowym (definicje zmiennych i funkcji), a tym samym muszą
  • Odpowiedz
jeżeli mielibyście sprawdzić ile czasu dana zmiana ma jakąś wartość to jak byście to zrobili? coś innego niż while(zmienna == stan); bo to zżera dużo CPU taka pętla bez żadnych przerwań. czas potrzebny co do mikrosekundy. język dowolny, docelowo C++.

#programowanie #cpp
  • 24
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Pamiętaj, że Linux może uśpić proces


@lionbest: właśnie twórca biblioteki do obsługi GPIO w RPi (WiringPi) tak mówił gdy się go pytali czemu takiej funkcji nie zaimplementował w bibliotece
  • Odpowiedz
Troszkę uczę się już C++, jednak nigdy nie natrafiłem na wektory. Na studiach wiem, że druga grupa miała parę zadań na wektorach, jednak mi nigdy się nie trafiły i w sumie to czytam o tym wektorze i zrozumiałem, że jest to tablica, której można zmieniać bezpiecznie rozmiar tablicy... Jednak nie za wiele mi to mówi

Rozmiar normalnej tablicy rozumiem, że można zmienić tylko przez kopiowanie starej tablicy i zapisanie do
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Yakooo:

No i wektora używa się po prostu w takich sytuacjach gdzie nie wiesz ile będziesz musiał zmieścić danych w tablicy i wiesz, że najprawdopodobniej początkowo zaalokowana pamięć na to nie starczy, co ważne wektor jest zaalakowany dynamicznie przez malloca w C lub przez new w C++
  • Odpowiedz
@Yakooo: std::vector to taki Mercedes premium że wszystkimi bajerami prosto z salonu. Zwykła tablica to też Mercedes z salonu ale ten najtańszy bez niczego, nawet radio trzeba kupić swoje. Taka jest różnica.
  • Odpowiedz
  • 1
Mirasy, wysyłałem projekt z programowania i dostałem o------l od ćwiczeniowca, że nie używam using namespace std;
Średnio się na tym znam, ale chyba trochę go p------o, no nie? XD
#programowanie #cpp
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Epg_ Tak, trochę przesada. Przestrzenie nazw są ważne i warto wiedzieć jak i kiedy ich używać, ale w projektach studenckich nie jest to aż tak istotne i wcale nie jest tak, że "using namespace std" > "std::". Możesz sobie pisać std:: i moim zdaniem nic mu do tego.
  • Odpowiedz
@niesamowite_: zobaczyłem na szybko i ios_base to jakaś osobna klasa a ten operator pewnie jest po prostu przeładowany.

Niemniej jednak za pomocą operacji bitowych możesz w unsigned int zapamiętywać różne informacje w bardzo wydajny sposób, np dajmy na to że masz enuma:
enum uczucia{
głodny = 1,
radosny
  • Odpowiedz