Duplicar posible:
Namespace + functions versus static methods on a classC++ - Espacio de nombres vs. funciones estáticas
Quiero funciones similares Togther grupo. Puedo hacerlo de dos maneras. Para mí, son solo diferencias sintácticas ... al final no importa. ¿Es esta vista precisa?
Espacio de nombres:
namespace util
{
void print_array(int array[])
{
int count = sizeof(array)/sizeof(array[0]);
for (int i = 0; i <= count; i++) cout << array[i];
}
}
Clase:
class Util
{
public:
static void print_array(int array[])
{
int count = sizeof(array);
for (int i = 0; i <= count; i++) cout << array[i];
}
};
llamada con
Util::print_array() // Class
o
util::print_array() // Namespace
Tuvimos esta discusión recientemente. Con suerte, alguien publicará un enlace. Los espacios de nombres están sujetos a ADL, mientras que las clases no son; las clases pueden ser modeladas, mientras que los espacios de nombres no pueden. –