this post was submitted on 27 Feb 2025
87 points (95.8% liked)

Linux

50700 readers
603 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 6 points 4 days ago (2 children)

auto main() -> int

What programming language is this even?!

[–] [email protected] 5 points 4 days ago (1 children)
[–] [email protected] 6 points 4 days ago (1 children)

TIL that you can declare return types this way in C++.

[–] [email protected] 2 points 4 days ago (3 children)

I never understood why they added that

[–] [email protected] 6 points 4 days ago

Among other things it lets you define the return type in terms of the arguments to the function.

[–] [email protected] 4 points 4 days ago

because explicitly declaring types can be redundant, if the compiler knows a lot of the times you should also know

also because some types are extremely cursed: see std views/ranges

[–] Feyd 3 points 4 days ago

They're useful for templates because the trailing version is resolved later

[–] [email protected] 4 points 4 days ago* (last edited 4 days ago) (1 children)

Why would anyone bother writing it like that? That just seems like int main() with extra steps. Like does auto enable some compiler optimisation of the return type that I'm not aware of?

[–] [email protected] 3 points 4 days ago

Defining the return type that way can be used when dealing with template sorcery - there's no use for it here though, not even for readability in any way.