19

I did a code that uses custom literals to allow indexing arrays with ordinals (1st, 2nd, 3rd), all at compile time. Additionally _st works only with 1, _nd only with 2, _rd only with 3. Zero and negative numbers are also not supported and fail compilation.

https://github.com/serpent7776/bits/blob/master/th.cpp/th.cpp

all 12 comments
sorted by: hot top controversial new old
[-] _sideffect@lemmy.world 9 points 9 months ago

What's the purpose of this? If you want to access an index in an array, isn't using integers easier?

And if you want string literals, you can make a map and access the key that way as well

[-] dankm@lemmy.ca 15 points 9 months ago

Does it matter? OP had an itch. He scratched it, and shared it with the world.

The reason could be "I wonder if I can?". That's good enough.

[-] Serpent7776@programming.dev 10 points 9 months ago

Yeah, that was basically it.

[-] _sideffect@lemmy.world 1 points 9 months ago

"Does it matter?"

That was the point of my question, thanks for reiterating it

[-] 4am@lemm.ee 1 points 9 months ago

The point of your question seems to be “never try things a for fun”

Curmudgeonry sucks all the joy out of anything.

[-] _sideffect@lemmy.world 3 points 9 months ago

I never said that, please don't assume that's what I meant before asking.

[-] Serpent7776@programming.dev 14 points 9 months ago

There's no purpose really. It was more of "wonder if I can" and also nice way to learn custom literals.

[-] _sideffect@lemmy.world 2 points 9 months ago

Yeah it's always a good way to learn things.

I only asked because I was genuinely curious if there was something I was missing about why you created this, that's all.

[-] lambalicious@lemmy.sdf.org 2 points 9 months ago

This sounds pretty interesting to do for funsies. I wonder if / how easy can it be extended to support i18n (eg.: "1_ro", "2_do", "3_ro", "4_to" for Spanish).

Also thanks for not supporting negatvie integers. Trying to do that with UDLs over integers leads to rather annoying "funsies", see StackOverflow and glados-418.

[-] Serpent7776@programming.dev 2 points 9 months ago

It should be easy to edit the existing code to add support for i18n, but there's probably no way to make in generic (except for macros).

[-] lambalicious@lemmy.sdf.org 2 points 9 months ago

Sounds like a plan for a funsies long weekend, might send a PR if I advance with it enough.

this post was submitted on 10 Feb 2024
19 points (82.8% liked)

C++

1732 readers
1 users here now

The center for all discussion and news regarding C++.

Rules

founded 1 year ago
MODERATORS