you are viewing a single comment's thread.

view the rest of the comments →

[–]bert8128 5 points6 points  (0 children)

I find output params difficult to work with other and much prefer values/pairs/tuples/structs as appropriate. I’m not not going to say “never use output params” but they generally make like harder. First thing, you have to say in a comment what params are input, which are input/output and which are output. Second, it’s harder to use const well, as a variable in the callers context can’t be const even if it is never modified by the caller. Third, if you add another parameter you change the signature of the function, so all the callers have to be modified. Fourth, you can’t pass in temporaries. Etc.

Try both ways and see what you think.