Tant qu'à faire du reference counting autant apprendre un paradigme propre: celui du Java. Justement le problème dont parle Folco n'existe pas en Java, où il est tout à fait normal de renvoyer un objet déclaré localement puisque les données sont en fait dans l'espace managé et détruites non pas à la fin de la fonction contrairement au stack, mais quand plus personne ne les référence.
(et sinon pour ton sudo rm -rf / ok. Heureusement que tous les compilateurs ne font pas ce genre de choses quand on utilise un truc non spécifié, parce qu'il n'y aurait pas beaucoup de code qui marcherait

même dans un langage comme Ada où on essaie de spécifier le maximum).