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

  • @_sideffect@lemmy.world
    link
    fedilink
    95 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
      link
      fedilink
      145 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.

      • @_sideffect@lemmy.world
        link
        fedilink
        25 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
    link
    English
    24 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.devOP
      link
      fedilink
      English
      24 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
        link
        English
        24 months ago

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