there is a need and a reason to return arrays and it can be done, you just return a pointer to its first address. If what you meant was an array return by value, i.e. a copy of the array then yes this never happens in c++. arrays are always treated as reference types.They are not copied into funcs or out of them.