Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: [C++] Array dinamico?

  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    [C++] Array dinamico?

    Scusate, ma secondo voi, prendendo da input un numero intero qualsiasi, è possibile far così?

    float array[n];

    n variabile presa come input?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    27
    No non puoi..al massimo fai
    int *array=new int[n];

  3. #3
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Originariamente inviato da -Yara-
    No non puoi..al massimo fai
    int *array=new int[n];
    lo pensavo pure io fino a qualche ora fa, ma intanto (con mio GRANDE SGOMENTO), con dev-cpp funziona

  4. #4
    Originariamente inviato da FinalFantasy
    lo pensavo pure io fino a qualche ora fa, ma intanto (con mio GRANDE SGOMENTO), con dev-cpp funziona
    E' vero il G++ (Gcc) non segnala il classico :
    "Constant expression required in function main()"
    come invece, giustamente, succede con il Bcc32 !

    Anche così non da l'errore:
    codice:
       int a=10;
       int b[a];
    Addirittura questo funziona senza problemi :
    codice:
       int a;
       int b[a];
       b[0]=1;
       b[1]=2;
       b[2]=3;
    Strano e bizzarro ... :master:
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  5. #5
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    mi sa ke ho messo la pulce sull'orecchio a tutti...perché è una cosa stranissima...a questo punto con g++ l'allocazione dinamica con l'operatore new perde di significato, o no?

  6. #6
    Originariamente inviato da FinalFantasy
    mi sa ke ho messo la pulce sull'orecchio a tutti...perché è una cosa stranissima...a questo punto con g++ l'allocazione dinamica con l'operatore new perde di significato, o no?
    Così sembrerebbe ...
    Ma si tratta di progrmmazione 'sporca', non standard e non portabile,
    probabilmente anche rischiosa, pericolo di buffer owerflow con
    pericolo di sovrascrittura di altri dati adiacenti etc etc..

    Io lo eviterei insomma ...
    01010011 01100001 01101101 01110101 01100101 01101100 01100101 01011111 00110111 00110000
    All errors are undocumented features waiting to be discovered.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    444
    credo che il dev allochi automaticamente in modo dinamico in quei casi, ma non ci giurerei e comunque, per il fattore portabilità, eviterei
    *********************************
    Andrea
    *********************************

  8. #8
    codice:
      int a;
       int b[a];
       b[0]=1;
       b[1]=2;
       b[2]=3;
    è giusto che funzioni, ma il problema è quando cerchi di assegnare un valore a

    b[x] quando x è un valore > di a al momento della creazione di b[a]

    potresti ottenere un errore di memoria se vai a scrivere su cose che non sono tue, o, ancora peggio, potresti andare a cambiare il valore di alcune altre variabili all'interno del tuo programma
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    444
    a me non sembra molto giusto che funzioni!
    *********************************
    Andrea
    *********************************

  10. #10
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Originariamente inviato da Squall1988
    a me non sembra molto giusto che funzioni!
    l'hai provato? ti dico ke prima ke lo postavo io nessuno ci credeva (compreso io)

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.