Ktoś mi wytłumaczy dlaczego jak wcześniej przeciążałem operator konwersji z mojej klasy na stringa, wszystko działało xD i kompilator nie miał nic przeciwko, a teraz po kilku godzinach nagle wywala mi komunikat :
_**"ambigous conversion for C-style cast from 'String' to 'std::__cxxx..."**

String to moja własna klasa będąca mniej czy więcej odwzorowaniem klasy string z biblioteki.
W klasie mam napisaną metodę przeciążającą operator konwersji ( jawny operator konwersji do std::string):

explicit
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam dwa projekty w Visual Studio: właściwa aplikacja i projekt z unit testami. W projekcie Tests zrobiłem referencję do tego drugiego projektu (PPM na "References" i zaznaczyłęm projekt "Aplikacja"), następnie w pliku z testami zrobiłem referencję do pliku nagłówkowego testowanej klasy, w ten sposób:

#include "../Aplikacja/Table.h"
Plik Table.h wygląda tak:

#pragma once
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

tylko nie wiem jak rozwiązać problem rozmiaru tego tekstu, który został z inputa wczytany


@OstryKepucz: skąd pomysł że został już wczytany w całości? Możesz czytać sobie plik po znaku używając std::istream::get i zapominając o wszystkich buforach po drodze każdy kolejny znak jest czytany z dysku
  • Odpowiedz
Mam mały problem ze zrealizowaniem jednego zadania ze wskaźnikami. Tablica wskaźników ma być posortowana od najmniejszej do największej. https://pastebin.com/t4EVBKBg treść zadania: http://prntscr.com/mvgf3n
Nie wiem jak zrobić, żeby już nie brało pod uwagę tej najmniejszej, żeby było to ładnie posortowane. W tym momencie ciągle mi wyrzuca wyłącznie jedną najmniejszą liczbę z całej tablicy. Może ktoś poratuje i wie jak to zrobić? Może źle zrozumiałem zadanie? #programowanie #cplusplus
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@aircod: na razie nie skupię się na tym dlaczego nie działa, a co jest w ogóle źle

linijka 9. sizeof(tab) zwróci ci rozmiar wskaźnika, a nie rozmiar tablicy. dlaczego? bo argument funkcji to jest pointer, nie tablica, przekaż normalnie wskaźnik i rozmiar tablicy. co więcej, gdyby to nawet była statyczna tablica, to sizeof zwróciłby ci rozmiar*sizeof(int), czyli prawdopodobnie(zakładając architekturę x86), wartość 4x większą niż rozmiar tablicy.
zatem void wypelnij(int tab[]) powinno wyglądać
  • Odpowiedz
@aircod: potrzebujesz przynajmniej dwóch zagnieżdżonych forów.

pierwszy, zewnętrzny for, który będzie określać której kolejnej "minimalnej" będziesz szukać.
teraz jesteśmy w środku tego fora.
dla pierwszej "minimalnej" sprawa jest prosta - znajdujemy indeks najmniejszego elementu i zapisujemy wskaźnik do tego elementu.
dla drugiej, i każdej kolejnej "minimalnej" sprawa jest
  • Odpowiedz
Czy można w jakiś sposób odczytać nazwę obiektu klasy w tej klasie (nie wiem jakieś this-> ?), który jeszcze nie istnieje?
(hmm nie wiem jak to wytłumaczyć lepiej)
chodzi mi dokładnie o sytuacje w której chce zapisać dane obiektu do pliku o nazwie takiej z jakiego obiektu została wywołana.
przykładowo mam obiekt:

jakas_klasa a;
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@OstryKepucz: Trzymaj nazwę, albo identyfikator w tej klasie, przekazuj w konstruktorze.

Generalnie nazwy zmiennych (lokalnych) w czasie kompilacji się gubią, przestają istnieć.

Możesz jeszcze templatkami się pobawić, ale to przerost formy nad treścią.
  • Odpowiedz
@ilmash: tak własnie w szkole zabija się pasje, nie tylko w programowaniu xd na biologii p------ą ci o pantofelku przez wszystkie lata np xD
  • Odpowiedz
Nawiązując do mojego poprzedniego wpisu dot. nauki PHP'a (https://www.wykop.pl/wpis/39418713/mirki-planuje-poswiecic-kolejne-6-miesiecy-na-inte/138737437/#comment-138737437), wrzucam tutaj ostateczna ankiete, ponieważ w tamtym wątku z niewiadomych przyczyn ankieta nie działa. Sorki za spam ( ͡° ͜ʖ ͡°)
Ostatecznie: Mam do poświęcenia 6 miesięcy na intensywna naukę programowania, zaczynam od 0 tak naprawdę, PHP czy Python?
#programowanie #informatyka #php #mysql #python #cplusplus #

PHP czy Python?

  • PHP 32.0% (40)
  • Python 68.0% (85)

Oddanych głosów: 125

  • 40
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, planuje poświęcić kolejne 6 miesięcy na intensywną naukę programowania (nie, nie zmieniam branży). Zastanawiam się nad PHP'em. Jak na razie pisanie w miare prostych rzeczy w nim sprawia mi chyba największą satysfakcję. Uważacie, że decydując się na poświęcenie tyle czasu na samego PHP'a nie będzie głupotą? Jeśli możecie, to podrzućcie pare ciekawych kursów, na które warto byłoby poświecić czas. Zachęcam do komentowania, hejtowania, kto co woli ( ͡° ͜ʖ
  • 38
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Jojne_Zimmerman: Na razie to wygląda tak że ktoś pyta o PHP a Ty mu narzekasz na js + css. Ja też siedzę w PHP a cssy ostatni raz widziałem jakieś 1,5 roku temu i nikt nie wymaga ode mnie znajomości angulara ani jqurey. Ja się klepie wordpressy to może tak być, ale jak się ma pracę w normalnej firmie to nie ma na co narzekać.
  • Odpowiedz
Hej mirki, Czy jest szkolenie które możecie śmialo polecić które trwa przynajmniej 3 dni, ale jest porządne i nastawione na praktyke z tematu:

Unit testy, szczegółowo pojęte pisanie Testów w C++ z użycie, CPPUNIT, Google mock, Google test frameworków, testowanie "legacy" itp.

takie po którym czlowiek który jakieś tam pojęcie ma ale ciągle po omacku pisze testy, taka troche rzezba, po szkoleniu bedzie sprawnie i samodzielnie takie testy pisał.

Proszę
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki zrobiłem taką klase https://pastebin.com/GCDxCB50 do której mam dodać metodę Array* clone(); – wykonuje głęboką kopię naszego obiektu przy pomocy dynamicznej allokacji. W jaki sposób to osiągnąć próbowałem

Array* copy= new Array(size_of_tab);
i wtedy przepisać dane ale niestety to nie działa ( ͡° ʖ̯ ͡°)
i czy dobrze mam wykonany destruktor?
#programowanie #cplusplus #cpp
  • 26
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@OstryKepucz: jeśli klasa ma w sobie tablicę alokowaną dynamicznie, to dlaczego jej rozmiar jest stały? To bez sensu.

Metoda clone to właściwie konstruktor kopiujący, a w przypadku składników - danych wskaźników różnica polega na tym, że wskaźnik nie może bezmyślnie pokazać na to samo miejsce w pamięci, co nie? Bo zonk będzie. Tworzysz więc nowy obszar w pamięci (jak w konstruktorze), na który pokazuje nowy wskaźnik i dopiero wtedy przepisujesz
  • Odpowiedz
Cześć, nakieruje może mnie ktoś jak wykonać ostatni podpunkt w tym zadaniu? Wychodzi mi coś "mniej więcej", ale w moim przypadku urywany jest przecinek, a o tablicy nawet nie wspomnę. Jestem nowy w C++, nie chcę kodu tylko o jakieś rady bo chyba na nic już sam nie wpadnę. http://prntscr.com/mqgoii
#programowanie #cplusplus
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@aircod: I swoja droga zadanie nie jest doprecyzowane, bo nie jest okreslone czy delimiter ma sie znalezc w dynamicznej tablicy, czy nie. Wedlug przyklady tak (bo przecinek jest czescia stringa, ale spacji juz nie widac w przykladzie), ale normalnie delimitery sie pomija.

Patrz Python:

In [1]: zdanie = "Ala ma kota, a kot ma
  • Odpowiedz
urywany jest przecinek


@aircod: urwany przecinek masz, poniewaz robisz wzor = zdanie.substr(0, pozycja), w c++ przyjeło sie, ze przedzialy sa zamknieto-otwarte, tj. [a,b), wiec zeby wzor mial rowniez delimiter, to dlugosc delimitera musisz dodac do pozycji przy substr, tj. wzor = zdanie.substr(0, pozycja + delimiter.length()).
  • Odpowiedz
@japecznikow: gdy inicjujesz zmienną np. "int x" nie ma ona przypisanej żadnej wartości, jedynie miejsce w pamięci. Dlatego należy ją wyzerować do jakichkolwiek obliczeń (poza przypisaniem jakiejś wartości przez np. "=").

Więc gdy inicjujesz zmienną, która potem zostanie użyta, do jakiegoś sumowania itd. ważne jest żeby suma zaczynała się od zera, a nie od jakiejś interpretacji śmieci w pamięci ( ͡° ͜ʖ ͡°)
  • Odpowiedz