No they don't. Error checking may be recommended, but isn't necessary. As already mentioned, this needs to work with already existing code, which we know nothing about. The original poster may know that all the values being passed in are valid, and instead wants higher performance. The case has been made in favor of error checking, but there are other options.
As it's been said before in the thread, yes, that's the way to do it. Watch out for object scopes when using references.
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." — Brian W. Kernighan