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

[C++] Optymalizacja dodawanie na listę, adres zmiennej automatycznej czy operator new?

Ostatnio zmodyfikowano 2011-07-27 00:56
Autor Wiadomość
akwes
Temat założony przez niniejszego użytkownika
[C++] Optymalizacja dodawanie na listę, adres zmiennej automatycznej czy operator new?
» 2011-07-27 00:44:09
Witam, zastanawiam się nad tym, który kod jest szybszy, bo ostatnio widziałem kilka wypowiedzi że operator new nie jest zbyt szybki.
C/C++
void Lista::AddValue( int value )
{
    /* z pewnych powodów muszę stworzyć klasę,
               w oryginalnym kodzie klasa trzyma pewne
               dodatkowe ważne informacje
            */
    Klasa * tmp = new Klasa( value );
    list->dodaj_na_koniec( tmp );
}

Czy może lepszy kod uzyskam przez:
C/C++
void Lista::AddValue( int value )
{
    /* z pewnych powodów muszę stworzyć klasę,
               w oryginalnym kodzie klasa trzyma pewne
               dodatkowe ważne informacje
            */
    Klasa tmp( value );
    list->dodaj_na_koniec( & tmp );
}

Czy oba sposoby są poprawne? Jeżeli tak, to który jest lepszy? Mam dziwny sentyment do wskaźników ale wskaźniki są raczej przeciwne zasadzie KISS
P-37215
malan
» 2011-07-27 00:48:15
Drugi sposób nie jest poprawny :)
P-37216
akwes
Temat założony przez niniejszego użytkownika
» 2011-07-27 00:51:05
Po wyjściu z funkcji, w drugiej metodzie, wskaźnik będzie pokazywał na obiekt, który już nie istnieje?
P-37217
malan
» 2011-07-27 00:51:40
Dokładnie :)
P-37218
akwes
Temat założony przez niniejszego użytkownika
» 2011-07-27 00:56:26
Dziękuję, za szybką pomoc i to o późnej godzinie :P
P-37221
« 1 »
  Strona 1 z 1