Date: Wed, 30 Jul 2025 02:08:24 +0200
Hi,
Let’s not forget the obvious:
On 28 Jul 2025, at 10:15, Jonathan Wakely via Std-Proposals <std-proposals_at_[hidden]> wrote:
On Mon, 28 Jul 2025, 04:23 Magnus Fromreide via Std-Proposals, <std-proposals_at_[hidden]> wrote:On Fri, Jul 18, 2025 at 10:15:22AM +0100, Frederick Virchanza Gotham via Std-Proposals wrote:> But I always do this:
>
> size_t n = my_string.find("bla bla");
> if ( -1 == n ) DoSomething();
if (!(n + 1)) DoSomething();
(Or, if you prefer, if (n + 1 == 0) DoSomething(); )
Unsigned integer overflow is well-defined in C++.
Thanks,
-lorro
--> I'm not keen on:
>
> size_t n = my_string.find("bla bla");
> if ( std::numeric_limits<decltype(n)>::max() == n ) DoSomething();
>
> Nor am I keen on:
>
> size_t n = my_string.find("bla bla");
> if ( string::npos == n ) DoSomething();
Here I would write
if (my_string.npos == n)
DoSomething();
> And it's annoying when a compiler emits a warning for "-1 == n" to say
> that I'm comparing signed with unsigned.
--
Std-Proposals mailing list
Std-Proposals_at_[hidden]
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
Std-Proposals mailing list
Std-Proposals_at_[hidden]
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
Received on 2025-07-30 00:08:37