Ich würde gerne die std :: string erweitern und "gleich" hinzufügen. Also habe ich die folgende:Ist es möglich, "Extension-Methoden" wie in C# zu erstellen, indem Makro in C++ verwendet wird?
#define Equals(str1) compare(str1) == 0
und verwendet den folgenden Code:
if (str.Equals("hhhhllll"))
Welche (ich nehme an) kompiliert
if (str.compare("hhhhllll") == 0)
Und alles kompiliert groß.
Jetzt möchte ich mein Makro verbessern, fügen Sie Klammern kompilieren
if ((str.compare("hhhhllll") == 0))
ich so etwas versucht haben:
#define (str).Equals(str1) (str.compare(str1) == 0)
Aber es wird nicht kompilieren (das Makro einfach doesn‘ t fit)
Wie kann ich es erreichen?
Ist es für syntaktischen Zucker oder etwas bestimmtes? – edmz
Zuerst für syntaktischen Zucker, aber hauptsächlich aus Neugier. – OopsUser
Bitte gehen Sie über diesen Link. http://mariusbancila.ro/blog/2014/10/15/extension-methods-in-cpp/ – Jagannath