zu deklarieren Was ich versuche, ist eine Funktion, die eine CStringT <> generiert, die für einen bestimmten Typ von Zeichen geeignet ist (char oder wchar_t).Gibt es eine bessere Möglichkeit, eine char-type entsprechende Instanz eines CStringT <> als
Hier ist ein konstruiertes Beispiel:
#include <atlstr.h>
template <typename CHAR_T>
inline
CStringT< CHAR_T, ATL::StrTraitATL< CHAR_T, ATL::ChTraitsCRT<CHAR_T> > >
AsCString(const CHAR_T * psz)
{
return CStringT< CHAR_T, ATL::StrTraitATL< CHAR_T, ATL::ChTraitsCRT<CHAR_T> > >(psz);
}
ich sicherlich die oben verwenden kann (es scheint zu kompilieren), aber es wäre viel schöner für die Leser meines Codes (und wahrscheinlich für zukünftige Kompatibilität), wenn ich verwenden könnte so etwas wie:
ATL::make_cstring(psz);
Ist jemand bewusst ein solches Dienstprogramm oder etwas Vergleichbares?
Die Leute schreiben immer noch neuen Code mit CString? Bläh! –
Um zu klären: das obige funktioniert, aber ich musste viel zu viele Argumente für meinen Geschmack liefern. Was ich wirklich will, ist CStringT. Aber das kann nicht kompiliert werden, da der zugrundeliegende CString <> keine Standardtypen für den Rest seiner Argumente liefert, also sage ich viel mehr, als ich wirklich will (und ich bin mir nicht sicher, ob das Sinn macht für andere Projekte, die nicht unbedingt die CRT (ChTraitsCRT) ... –
Mordachai