Made with KolourPaint and screenshots from Kate (with the GitHub theme).

  • CarrotsHaveEars
    link
    fedilink
    220 days ago

    What about you declare (then it gets allocated in stack) it and pass it to a different context for assignment?

    • @ThirdConsul@lemmy.ml
      link
      fedilink
      2
      edit-2
      20 days ago

      Well, I don’t know your use case well enough, but I guess you might have perfect reason for that behavior.

      One thing that comes to my mind is the old Try in C#

      bool parsedSuccessfully = int.TryParse("123", out int result);
      

      But I guess more popular approach would be to use Error as Values, right?

      E.g. something like this

      Outcome<Exception, Int> result = int.TotallyNewParse("123");
      
          • CarrotsHaveEars
            link
            fedilink
            319 days ago

            Yes, and no, sir, you missed the point. The procedure here is to allocate then give away, not reading a fixed-length returned value.

            Say you can only afford to have ten bytes in the stack. You allocate char s[10]; then give it to a library to parse something. Also telling it to abort if it’s going to be longer than ten bytes, of course.