C++ alone is a massive language as is Java. I could reasonably expect a skilled, veteran to remember all of Scheme, Python, or C but there is no shame to be had in using references.
I'd argue that learning generically applicable programming techniques and remembering the elements of style for each language over trying to remember the entire syntax. I'm not sure that's possible in some cases, particularly given how much languages can change.
I work at a technical bookstore and I routinely sell reference manuals to skilled, experienced professionals. Better to have knowledge that there is such a technique for "thing x" and not remember the exact syntax or semantics than to not know that "thing x" exists. That's why these things exist. You are plugging along and think "I know of something that would work nicely here" and perhaps you find it to be wrong for that language but the reference if it's any good and you've a solid grasp on the fundamentals will give you pointers (sometimes literally) toward a solution.