Article View: pl.comp.lang.c
Article #309467Re: Zabrali kopiowanie przy zapisie...
From: M.M.
Date: Wed, 11 Oct 2017 23:22
Date: Wed, 11 Oct 2017 23:22
33 lines
3194 bytes
3194 bytes
On Tuesday, October 10, 2017 at 9:31:03 AM UTC+2, Wojciech Muła wrote: > On Tuesday, October 10, 2017 at 3:35:56 AM UTC+2, bartekltg wrote: > > A na poważnie, dlaczego string ma być immutable? > > Przecież moge chcieć tworzyć string literka po literce. > > Tu wracamy do tego, co napisałem na początku: C++ spieprzył > design stringa. (Chociaż ze string_view jest teraz trochę lepiej). > > Powinny być osobne stringi immutable, osobne mutable, albo > lepiej buildery do stringów. Zauważ, że są różne sposoby > budowania napisów. Z mojej praktyki: > * doklejasz po jednym znaku; > * doklejasz inne stringi (np. sformatowane liczby); > * kasujesz podzakresy; > * zamieniasz jedne podciągi na inne; > * albo tylko zmieniasz literki (np. lowercase), bez zmiany długości > napisu. > > Niestety, C++ upchnął za dużo odpowiedzialności w jedną klasę przez > co implementacja musi być generyczna, więc dla jednych scenariuszy > będzie szybka dla innych nie - i nie wiesz dla których. :) > > A może w ogóle pomysł, żeby string musiał ciągłym obszarem pamięci > jest przesadą. Łatwiej byłoby przyjąć, że string to zbiór obszarów > pamięci. To się da łatwo ukryć za fasadą iteratora. > > w. Zazwyczaj to ja kroję włosa na czworo, ale teraz mam wrażenie, że to Wy kroicie :) String to string, ma być wygodny, nie nadaje się do pisania wyżyłowanych i wyspecjalizowanych implementacji. Pozdrawiam
Technical Details
Message-ID:
<fe52664e-2569-46e3-b18c-750c30cd8963@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!z50no171964qtj.0!news-out.google.com!r5ni227qtc.1!nntp.google.com!z50no171962qtj.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<or4v67$ene$1@node1.news.atman.pl> <72ac4d9c-806c-4c0d-9d17-e6a1bca634cb@googlegroups.com> <148be543-e417-4b7b-aaa1-5fad87fe41bd@googlegroups.com> <137swhz7qzvw7.dlg@tyczka.com> <6a1a94c7-2d75-4569-8fae-574fb23c919e@googlegroups.com> <d73024b7-92e0-49f9-b827-bfc7b639739b@googlegroups.com> <73ec442f-1a8b-43fc-a06f-a5534a6f3438@googlegroups.com> <da509e00-e7ff-49bb-8870-b77b25bcc560@googlegroups.com> <c8b4dab5-5afa-45a4-a3d8-67bc8a5b2aee@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 10.200.27.100 with SMTP id p33mr477572qtk.61.1507764164772; Wed, 11 Oct 2017 16:22:44 -0700 (PDT) X-Received: by 10.31.142.13 with SMTP id q13mr929812vkd.1.1507764164706; Wed, 11 Oct 2017 16:22:44 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!z50no171964qtj.0!news-out.google.com!r5ni227qtc.1!nntp.google.com!z50no171962qtj.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Wed, 11 Oct 2017 16:22:44 -0700 (PDT) In-Reply-To: <c8b4dab5-5afa-45a4-a3d8-67bc8a5b2aee@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=159.205.154.189; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj NNTP-Posting-Host: 159.205.154.189 References: <or4v67$ene$1@node1.news.atman.pl> <72ac4d9c-806c-4c0d-9d17-e6a1bca634cb@googlegroups.com> <148be543-e417-4b7b-aaa1-5fad87fe41bd@googlegroups.com> <137swhz7qzvw7.dlg@tyczka.com> <6a1a94c7-2d75-4569-8fae-574fb23c919e@googlegroups.com> <d73024b7-92e0-49f9-b827-bfc7b639739b@googlegroups.com> <73ec442f-1a8b-43fc-a06f-a5534a6f3438@googlegroups.com> <da509e00-e7ff-49bb-8870-b77b25bcc560@googlegroups.com> <c8b4dab5-5afa-45a4-a3d8-67bc8a5b2aee@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <fe52664e-2569-46e3-b18c-750c30cd8963@googlegroups.com> Subject: Re: Zabrali kopiowanie przy zapisie... From: "M.M." <mmarszik@gmail.com> Injection-Date: Wed, 11 Oct 2017 23:22:44 +0000 Lines: 44 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit