L'articolo 23 di Effective C ++ (3a edizione) di Scott Meyers è intitolato: "Preferisci le funzioni non amichevoli non membro alle funzioni membro". Ho capito che l'intenzione di Scott era che, ogni volta che una funzione può essere implementata in termini del set minimo esistente di funzioni membro, dovrebbe essere resa indipendente.
Tuttavia, oggi ho visto un'opinione che avere una funzione indipendente che chiama una funzione membro che cambia lo stato è una cattiva pratica. Questa opinione afferma fondamentalmente che tutte le funzioni indipendenti devono essere pure. È una comprensione universale o anche la mia comprensione iniziale è giustificabile?