C++ Logo

std-proposals

Advanced search

Re: [std-proposals] Floating an idea: int main(std::span<std::string_view> args)

From: Jonathan Wakely <cxx_at_[hidden]>
Date: Sat, 7 Sep 2024 21:16:51 +0100
On Sat, 7 Sept 2024 at 16:38, Jeremy Rifkin via Std-Proposals <
std-proposals_at_[hidden]> wrote:

> Hello,
>
> I'd like to propose adding int main(std::span<std::string_view> args) as
> a standard signature for main.
>
> Motivation:
> - Modernization
> - Ergonomics
> - Teachability
> - Modern C++ through and through instead of 'what's a char**' and
> 'argv[1] == "--help" is a footgun, beware'
>

I think
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1275r0.html is a
potentially more useful change, as it enables considerably more than we'd
get from just wrapping the args in a span.



> Considerations:
> - There would be slight startup overhead in constructing the
> std::string_views and underlying array of string views, however, this
> would be entirely opt-in
> - It would probably add some implementation complexity
> - This would be an aspect of the core language which depends on the
> standard library. I don't love that, but, there is precedence for this
> sort of thing
> - Direct mutability of the argument contents would be lost
>
> I would make a reference implementation as part of the proposal.
>
>
> Cheers,
> Jeremy
> --
> Std-Proposals mailing list
> Std-Proposals_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
>

Received on 2024-09-07 20:18:13