Faire circuler des tableaux de taille fixe en C ++?

Fondamentalement, je voudrais faire quelque chose comme ça:

int[3] array_func()
{
    return {1,1,1};
}

int main(int argc,char * argv[])
{
    int[3] point=array_func();
}

Mais ça ne semble pas légale en C++. Je sais que je peux utiliser des vecteurs, mais depuis que je sais que la taille du tableau est une constante, il semble comme une perte de performance est susceptible de se produire.
Je tiens également à éviter une new si je peux, parce que l'allocation des trucs sur la pile est plus facile et probablement aussi pour améliorer les performances.

Quelle est la solution ici?

source d'informationauteur static_rtti