Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wywołanie kodu ze stringa.

Ostatnio zmodyfikowano 2012-02-09 16:04
Autor Wiadomość
aimo6
Temat założony przez niniejszego użytkownika
Wywołanie kodu ze stringa.
» 2012-02-07 20:29:38
Mam taki mały problem.Ostatnio zastanawiałem się nad tym czy da się zrobić coś takiego:
tworzę sobie klasę . w pewnej funkcji chciałbym aby polecenia zapisane w stringu można było uzyskać w postaci ... co ja będę tłumaczył i tak nikt nie zrozumie:
C/C++
std::string polecenia = "if(a==b)" //
polecenia // i to miało być tym samym co if(a==b)
mam nadzieje, że ktoś zrozumiał o co chodzi.
W ten sposób oczywiście nie zadziała i tu moje pytanie jak to zrobić inaczej?
P-50332
pekfos
» 2012-02-07 20:30:50
Wpisz coś w nazwę tematu. Było (nie da się).
P-50333
SeaMonster131
» 2012-02-07 20:37:49
Może tak
C/C++
template < class Arg >
bool polecenie( Arg a, Arg b )
{
    if( a == b )
         return true;
   
    return false;
}
?
P-50335
pekfos
» 2012-02-07 20:40:17
Już prędzej tak
C/C++
#define CMD1 if(a==b)

CMD1;

Ale jemu pewnie chodzi o to by w czasie działania programu zmieniać sobie kod.
P-50337
aimo6
Temat założony przez niniejszego użytkownika
» 2012-02-07 20:44:32
sry w pośpiechu zapomnialem


Nie do końca o to chodziło . W stringu miały być dowolne instrukcje to z if to był tylko przykład.

Myślałem też nad template bo gdzieś na tej stornie znalazłem, że da się w taki sposób określić typ zmiennej .
I od tego czasu cały czas się na tym zastanawiam . Jeszcze niezbyt dobrze władam template i klasami więc chcialem się dowiedzieć czy komuś może się to już udało.

// @up  coś w tym rodzaju
P-50339
pekfos
» 2012-02-07 20:48:00
Jeśli te instrukcje są znane w czasie kompilacji, to zostaje tylko makro. Innego sposobu nie ma.
P-50340
RazzorFlame
» 2012-02-07 21:13:10
Mozna zrobic funkcje coś w stylu instrukcji if
C/C++
enum NaszEnum
{
    EQUAL,
    OTHER,
    LESSOREQUAL,
    //...
};

NaszEnum jezeli( int a, char oper[ 2 ], int b )
{
    if( oper == "==" )
    {
        if( a == b ) return EQUAL;
       
    }
    //...
   
}
//tutaj dla innych typow zmiennych
P-50345
aimo6
Temat założony przez niniejszego użytkownika
» 2012-02-08 09:46:30
ehh... chciałem zrobić trochę elastyczniejszy kod .
pokombinuje jeszcze z template może coś znajdę .
Jeżeli jakimś cudem się uda wrzucę tutaj kod.


// ps naprawdę powinni coś takiego zrobić
P-50355
« 1 » 2
  Strona 1 z 2 Następna strona