Non. Lorsque vous passez de .m à .mm, vous passez en fait d'Objective-C à un langage différent (qui présente de nombreuses différences subtiles) appelé Objective-C++. Vous n'utilisez donc pas vraiment le C++, mais l'Objective-C++ qui accepte la plupart des C++ en entrée (de la même manière que le C++ accepte la plupart mais pas tout le C en entrée). Quand je dis que ce n'est pas tout à fait du C++, considérez un fichier C++ qui inclut une variable nommée nil
(qui est du C++ légal) et ensuite essayer de le compiler en Objective-C++.
Swift n'a pas la même relation. Il ne s'agit pas d'un sur-ensemble de C ou de C++, et vous ne pouvez pas utiliser directement l'un ou l'autre dans une application de type .swift
fichier.
"Utiliser Swift avec Cocoa et Objective-C" nous dit aussi :
Vous ne pouvez pas importer du code C++ directement dans Swift. Il faut plutôt créer un wrapper Objective-C ou C pour le code C++.