Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423

    [C++] Perchè e quando usare string ?

    Quando e perchè conviene utilizzare la classe string della STL piuttosto che gli array di char ? Chiedo perchè mi sono reso conto che la string della STL è maledettamente lenta. C'è qualche caso in cui può costituire un affare dal punto di vista delle prestazioni usarla, oppure in generale è una comodità per il programmatore che però si paga sempre in termini prestazionali ?

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    "è una comodità per il programmatore che però si paga sempre in termini prestazionali"


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Originariamente inviato da oregon
    "è una comodità per il programmatore che però si paga sempre in termini prestazionali"


    codice:
    char str[4]
    strcpy(str, "cry");

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In particolare, dov'e' che e' "maledettamente" lenta ... ?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Originariamente inviato da oregon
    In particolare, dov'e' che e' "maledettamente" lenta ... ?
    Nel mio caso particolare, dovevo tokenizzare una stringa. Prima ho provato con substr e subscript di una string, poi ho provato con strncpy e i subscript di un char*. La seconda versione è 3 o 4 volte più veloce della prima. Il tutto senza usare strtok che temo sia ancora più veloce. Insomma una differenza abissale.

  6. #6
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,563
    codice:
    typedef basic_string<char, char_traits<char>, allocator<char> > string;
    Questa è la definizione di string.
    Cosa è??
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  7. #7
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Originariamente inviato da XWolverineX
    codice:
    typedef basic_string<char, char_traits<char>, allocator<char> > string;
    Questa è la definizione di string.
    Cosa è??
    baxic_string è un template, per non dover ogni volta inizializzare scrivendo tutto quel paternale con typedef string è associato a quell'inizializzazione di basic_string.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.