Citation Envoyé par Virtuosity Voir le message
Je ne vois pas du tout où est ce que ça peut être une force mais j'aimerais savoir, je suis tout ouïe ^^
C'est une force que le langage soit suffisamment puissant pour qu'un type aussi complexe que peut l'être string puisse être défini par un utilisateur externe à l'équipe qui fabrique le compilateur. std::string sert en quelque sorte d'étalon prouvant que faire ses propres types est effectivement possible.

Citation Envoyé par Médinoc Voir le message
Ensuite, pour les conversions:
std::wstring en System::String, rien de plus facile:
Code C++/CLI : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
std::wstring cppstr(L"Toto");
System::String^ dotnetstr = gcnew System::String(cppstr.c_str());
Pour l'inverse, un poil plus compliqué, mais toujours plus simple que de convertir en string:
Code C++/CLI : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
System::String^ dotnetstr = L"Tata";
std::wstring cppstr;
{
	cli::array<wchar_t>^ dotnetchars = dotnetstr->ToCharArray();
	cli::pin_ptr<wchar_t> cppchars = &dotnetchars[0];
	cppstr = cppchars;
}
Il y a dans Visual C++ 2008 des classes qui permettent d'enrober ça. De mémoire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
cppStr = marshal_as<std::string>(dotnetStr);
dotnetStr = marshal_as<System::String^>(cppStr);