c++ - Best convention for cross-class helper function -


lets have 2 classes, class , class b, both defined in namespace namespace. both of these classes utilize helper function, helper(). since both classes use function, figured ok define helper() in .h file in same namespace outside both classes. however, function visible , usable whoever uses code. understanding goes against convention , instead function should private mechanism, since never want function explicitly called. however, declare private require declare in both classes , define twice later in .cpp file. best way create function usable 2 classes invisible user?

one common approach place function detail namespace within namespace. doesn't mean other people can't intentionally use it, doesn't pollute api's namespace.

alternately if implement both classes in same source file put in anonymous namespace in source file , don't have in header @ all.


Comments