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

Przekazywanie przez argument wskaźnika do funkcji szablonowej

Ostatnio zmodyfikowano 2010-12-29 18:27
Autor Wiadomość
wojos
Temat założony przez niniejszego użytkownika
Przekazywanie przez argument wskaźnika do funkcji szablonowej
» 2010-12-29 17:49:49
Głowię się, czy jest możliwe przekazanie przez argument w konstruktorze wskaźnika funkcji szablonowej (konkretnie takiej, która będzie sortowała dane pewnego typu, którego nie znam tworząc klasę a poznam dopiero potem [właśnie dlatego potrzebuję szablonu]).
Z góry dzięki za pomoc.
P-25890
malan
» 2010-12-29 17:55:34
Napisz dwa szablony. Jeden, funkcji sortującej, a drugi konstruktora, który będzie przyjmował wskaźnik.
P-25891
DejaVu
» 2010-12-29 18:07:44
Zobacz sobie jak to w kontenerach C++ zostało rozwiązane.
P-25893
wojos
Temat założony przez niniejszego użytkownika
» 2010-12-29 18:10:56
@malan
Tak właśnie chcę zrobić natomiast problem leży w tym, że funkcja sortująca będzie pisana później w trakcje dalszego programowania (projekt będzie wykorzystany w wielu innych :P).
Dlatego potrzebuję czegoś w stylu odbierania funkcji z DLLki tyle, że funkcja ta jest szablonowa:
C/C++
//...
//normalnie  robi się to tak:
typedef int( * FUNKCJA )();

int MojaFunkcja()
{
    return 1; //byle co tu pisze :P
}
//potem przypisuje sobie wskaźnik odpowiedni
FUNKCJA jakasFunkcja = & MojaFunkcja;
//A potem sobie mogę ją wywołać:
( MojaFunkcja )();
//Albo przekazać przez argument w jakiejś funkcji, np takiej:
void WyswietlWynikFunkcji( FUNKCJA FunkcjaDoWyswietlenia )
{
    std::cout <<( FunkcjaDoWyswietlenia )() << std::endl;
}

//...
WyswietlWynikFunkcji( & MojaFunkcja );
I teraz moje pytanie jak to zastosować do szablonu, szczególnie linię:
C/C++
typedef int( * FUNKCJA )(); //głównie z tym mam problem
Czy w ogóle to jest możliwe?
P-25894
DejaVu
» 2010-12-29 18:20:40
Jeżeli chcesz mieć możliwość modyfikacji algorytmów to:
Kursy
strategiaUmożliwia zmianę algorytmu w trakcie życia programu. (wzorzec projektowy)

/edit:
Szablonu nie wyeksportujesz do DLL.
P-25897
wojos
Temat założony przez niniejszego użytkownika
» 2010-12-29 18:27:06
Dzięki za pomoc.
P-25898
« 1 »
  Strona 1 z 1