Path: csiph.com!news.mixmin.net!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Ben Bacarisse Newsgroups: comp.lang.c++ Subject: Re: Type conversion for hundreds of lines Date: Thu, 13 Oct 2022 12:19:42 +0100 Organization: A noiseless patient Spider Lines: 32 Message-ID: <87sfjsj7ht.fsf@bsb.me.uk> References: <87czawllvd.fsf@bsb.me.uk> MIME-Version: 1.0 Content-Type: text/plain Injection-Info: reader01.eternal-september.org; posting-host="ebee1d994c259e3ec935394f7e8a10aa"; logging-data="1880844"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+yEkQ1h3WeICLbisW8r9PIUH7esOO2mtI=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) Cancel-Lock: sha1:dYMPSl6GZjTatgF1TfBmDQhZajc= sha1:sKrD0NPbKjvQBlzVKghJy0Yq8Lg= X-BSB-Auth: 1.e031e8eb46dfad2edd03.20221013121942BST.87sfjsj7ht.fsf@bsb.me.uk Xref: csiph.com comp.lang.c++:86921 JiiPee writes: > On 13/10/2022 01:26, Ben Bacarisse wrote: >> ... and presumably you meant sum += v[i]; or the loop is pointless! >> And why run the indexes backwards? It might be needed for some vectors >> of floating-point numbers, but not for int. >> It seems that a lot of peculiar choices have been made in the code base. > > the example is only created to illustrate the copy propblem... its not > an example from a real code. Sure, but the loop running backwards, starting at size-1, introduces other things to be careful about. > The point is, that if I copy in a for-loop vector::size() to an > integer, do you always do the casting for it? No. Since the scope is small in a for loop, I'd change the declaration and run the loop forward. It's more changes, but it will make the code clearer. If I had reliable regression tests, I'd consider writing int sum = std::accumulate(v.begin(), v.end(), 0); > Because there are many places that can happen.... Roughly how many? I think it makes sense to tidy up the code rather than spray it with casts. -- Ben.