Comment by pjc50

5 years ago

Not only in C land; C# has "ref" (pass by reference, usually implying you want to overwrite it) and "out" (like ref but you _must_ set it in all code paths). Both are a bit of a code smell and you're nearly always better off with tuples.

Unfortunately in C land for all sorts of important system APIs you have to use output arguments.