Wpis z mikrobloga

@Saly: ale dlaczego pomijasz propozycje ktore daje, tu znowu masz staly string - dobry kompilator powinien to wylapac.... napisalem cos co sie zmienia, zaproponowalem bys dodawal za kazdym razem licznik... Ba wtedy zobaczysz jak w roznych implementacjach roznie to wyglada, bo jak napisalem, o ile std::string ma wieksze ograniczenia, to w przypadku std::stringstreama mozna sie popisac i wtedy jakosc programistow tworzacych biblioteke standardowa danego kompilatora moze sie wykazac
  • Odpowiedz
@Saly: zaraz zaraz, kolega wyzej pisal ze char b[11] to zlo, a ty uzywasz! Arytmetyka wskaznikow... Bo jakbys pozostal przy konwencjonalnym to_string to okazaloby sie wolniejsze. Wiec wolisz na sile zaciemniac.
A przeciez dyskusja zaczela sie od tego, ze to jest niepotrzebne. Widzisz zagladajac do implementacji mozna kilka sztuczek podejrzec. Napisalem, ze w niektorych sytuacjach std:strinstream moze yc szybsze i jest - ale uwaga zalezne jest to od potrzeb, jak
  • Odpowiedz
zaraz zaraz, kolega wyzej pisal ze char b[11] to zlo, a ty uzywasz! Arytmetyka wskaznikow...


@Kaczus2B: jest to zło, niestety C++ jeszcze nie ma na tyle dojrzałej biblioteki standardowej, żeby porzucić pointery. Najbliżej tego czego użyłem jest std::span, niestety jest on dostępny dopiero od C++20. Zwłaszcza, że std::tochars jest nowy, pochodzi z C++17. Co do tablicy to mógłbym użyc std::arraya, ale tak jest wygodniej ( ͡° ͜ʖ ͡°)

Bo
  • Odpowiedz
@Saly: moze dalem za duzy skrot myslowy klejenie stringow, to dla mnie cos wiecej niz dodatnie 2, bo tu nawet nad optymalizacja bym sie nie zastanawial, ale chodzi mi o caly arsenal, musisz zbudowac stringa z liczb, innych stringow ect. Inna sprawa, ze jak pisalem, teoretycznie streamstring moze dzialac szybciej, ale to znajdziesz w mniej typowych implementacjach zazwyczaj, ale sa tez takie, ktore zaoszczedza np na ilosci alokacji na przyklad.
  • Odpowiedz
@Saly: Ok masz racje że std::stringsteam to rak, chociaż brak możliwości rezerwacji, czy przeniesienia stringa oraz to że .str() robi kopię! Mimo wszystko to nie znaczy że koncept StringBuilder nie będzie działał szybciej od konkatenacji obiektów String, chociaż taki Qt się wycfanił z operatorem%.
Niestety szczegół polega na tym ze od stringstreama nie da się uciec, przykładowo lokalizacja polega na tym.
  • Odpowiedz