Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    69

    [c++] rendere un vettore costante

    una domanda
    deve rendere un intero vettore costante
    qual' è l'istruzione che devo utilizzare?
    const lo posso usare?
    ma poi devo indicare ogni singolo indirizzo con const?
    esempio:
    int const uno[a];
    int const uno[b];
    etc etc..
    non c'e un modo per inizializzarlo il vettore e dopo tale inizializzazione non è piu modificabile?
    grazie mille
    divide et impera

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    ma devi usare un vettore cn dimensione variabile? Altrimenti puoi usare enum.
    In teoria con const nn potresti neanche modificare.
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    69
    non è di lunghezza variabile.
    già è un vettore definito del tipo

    int ESEMPIO[50];

    Quindi cosa mi consigli?
    però devo inizializzare con valore ad ogni singolo vettore.
    quindi....
    divide et impera

  4. #4
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    enum oltre a dare un significato umano ad ogni intero che avra il tuo vettore (che nn lo è) viene risolto in fase di compilazione quindi molto + veloce.
    Ma dipende bene cs si deve fare se il vettore dovrebbe avere anche un significato umano nn avrei dubbi su enum.
    Per gli Spartani e Sparta usa spartan Il mio github

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    69
    codice:
     significato umano nn avrei dubbi su enum.
    non deve avere significato umano.
    divide et impera

  6. #6
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    No cs? Allora usa const anche xche poi dovresti trovarti anche 50 nomi. Ma di sicuro nessuno te lo tocca
    Per gli Spartani e Sparta usa spartan Il mio github

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    69
    allora mi spiego con un esempio di pseudocodice c++:

    class vettore{
    public:
    int vet[150];
    int vettore::vettore(){for(int a=0;a<149;a++)
    vet[a]=a;
    }
    }

    int main(){
    vettore ascii;
    switch(a){
    case 0:
    printf(ascii.vet[0]);

    }}
    il codice non ha senso scritto cosi, ma voglio dare solamente il senso di quello che mi serve.
    con enum do nome a delle veriabile e non le m odifico più
    qui ho degli indirizzi con dei vettori.
    che dopo che li inizializzo poi n on devono essere piu modificati.
    divide et impera

  8. #8
    In sostanza, deve essere una tabella di lookup, esatto? I valori con cui viene inizializzata sono noti a compile-time oppure la devi inizializzare a runtime?
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    Nn usare public.
    Per gli Spartani e Sparta usa spartan Il mio github

  10. #10
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    @linoma: per un quieto convivere, non usare abbreviazioni da SMS... oltre ad essere assolutamente inutili, rendono più difficoltosa la lettura agli altri. Questo è un forum con un limite pari a 13.000 caratteri per messaggio, non un telefono cellulare con solo 160 caratteri.

    E' tutto scritto anche nel regolamento interno.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2024 vBulletin Solutions, Inc. All rights reserved.