Classe Matrice con array di puntatori a stringhe

di il
22 risposte

22 Risposte - Pagina 2

  • Re: Classe Matrice con array di puntatori a stringhe

    Ah ho capito
    un array e una variabile si possono allocare
    le matrici no per definizione
    è che sul libro mio è spiegato solo come allocare un array e una variabile
    credevo fosse lo stesso anche per gli array bidimensionali
  • Re: Classe Matrice con array di puntatori a stringhe

    Ma quindi non è necessario allocarla la memoria per array bidimensionali?
    perchè su wikipedia ho letto:

    Creare una matrice non differisce di molto rispetto alla creazione di un array.

    Per costruire una matrice quadrata nxn nella memoria stack, si deve operare così:

    int miamatrice[10][10];
    Per costruire l'analoga matrice quadrata nxn nella memoria heap, si deve operare così:

    // creazione di un array di puntatori
    int **miamatrice = new int*[n];
    for (int i = 0; i < n; i++)
    miamatrice = new int[n];

    fonti:
  • Re: Classe Matrice con array di puntatori a stringhe

    Quindi? la memoria non è bidimensionale, e sempre un array. Ciò che noi facciamo in C++ è la nostra rappresentazione che differisce di molto dalla rappresentazione hardware della memoria. secondo te qualè il metodo + efficace: fare una allocazione grande di N*N oppure N volte l'allocazione di N celle? Quello è un altro metodo ma non il + efficace.
    Leggi anche quà per completezza.
  • Re: Classe Matrice con array di puntatori a stringhe

    Ah scusa mi sono espresso male
    certo quello mi è chiaro
    ma io intendevo dire nel caso del mio esercizio
    devo per forza allocarla la memoria nel modo che dici tu?
    noi non l'abbiamo fatto quindi quello che non riesco a capire è quand'è che devo allocare la memoria e quando no
  • Re: Classe Matrice con array di puntatori a stringhe

    Se non l'hai fatto allora non c'è bisogno che tu lo faccia. Come vedi la trasposta funziona anche se non allocchi niente. L'allocazione viene fatta come hai già visto in due modi. come ho fatto io, oppure come wikipedia. Tutti e due i casi sono corretti, quindi tu tieniti a quello che ti sembra + semplice. Nessuno ti può dire quando devi allocare. In C++ si fa di tutto per non allocare esplicitamente perche questo porta ad errori, quindi tieniti alla regola: Più stai lontano alle allocazioni meglio è.
  • Re: Classe Matrice con array di puntatori a stringhe

    Ho capito quindi è meglio non farla
    ma in pratica quand'è che si deve fare?
  • Re: Classe Matrice con array di puntatori a stringhe

    Mai se non viene chiesto dall'esercizio. Usare std::vector così alle allocazioni ci pensa lui. Tu devi solo aggiungere, come vengono aggiunte le cose non è compito tuo.
  • Re: Classe Matrice con array di puntatori a stringhe

    Ok grazie
Devi accedere o registrarti per scrivere nel forum
22 risposte