Bir sınıfa bağlı olmayan işlevleri nereye koymalıyım sorusu , C ++ 'da bir faydası işlevlerini bir sınıfta birleştirmenin bir anlam ifade edip etmediği ya da sadece bir isim alanında boş işlevler olarak var olmalarına ilişkin bazı tartışmalara yol açtı.
İkinci seçeneğin bulunmadığı bir C # arkaplanından geliyorum ve bu yüzden yazdığım küçük C ++ kodunda statik sınıfları kullanmaya yöneliyorum. Ancak en yüksek oyu bu soruya verilen yanıtın yanı sıra birkaç yorumun yanı sıra, statik sınıfların bir kalıp karşıtı olduğunu öne sürerek, serbest işlevlerin tercih edilmesi gerektiğini söylüyor. Neden böyle C ++ 'da? En azından yüzeyde, bir sınıftaki statik yöntemler, bir ad alanındaki boş işlevlerden ayırt edilemez görünüyor. Neden bu ikinci tercih?
Yardımcı program işlevlerinin toplanması bazı paylaşılan verilere ihtiyaç duyuyorsa, örneğin özel bir statik alanda depolanabilecek bir önbellek, işler farklı mı olurdu?