Vorrei estendere lo std :: string e aggiungere "uguale". Così ho fatto la seguente:È possibile creare "metodi di estensione" come in C#, usando la macro in C++?
#define Equals(str1) compare(str1) == 0
e utilizzato il seguente codice:
if (str.Equals("hhhhllll"))
Quale (presumo) viene compilato in
if (str.compare("hhhhllll") == 0)
E tutto viene compilato grande.
ora voglio migliorare il mio macro, aggiungere le staffe per la compilazione di
if ((str.compare("hhhhllll") == 0))
Ho provato qualcosa di simile:
#define (str).Equals(str1) (str.compare(str1) == 0)
Ma non verrà compilato (la macro semplicemente doesn' t fit)
Come posso ottenerlo?
È per lo zucchero sintattico o qualcosa di specifico? – edmz
All'inizio per lo zucchero sintattico ma soprattutto per curiosità. – OopsUser
Si prega di passare attraverso questo link. http://mariusbancila.ro/blog/2014/10/15/extension-methods-in-cpp/ – Jagannath