Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-07-2006, 14:08   #1
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6638
[C++] Troppe variabili globali

In un progetto, mi sono venute fuori troppe variabli globali tipo interi, iteratori, ecc. Come posso fare per ridurre lo spazio che occupano tali dichiarazioni? Altra cosa: come facico a dichiarare un array dinamico di strutture? Thanks
Unrue è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 14:11   #2
The3DProgrammer
Senior Member
 
Iscritto dal: May 2000
Messaggi: 1459
Quote:
Originariamente inviato da Unrue
In un progetto, mi sono venute fuori troppe variabli globali tipo interi, iteratori, ecc. Come posso fare per ridurre lo spazio che occupano tali dichiarazioni? Altra cosa: come facico a dichiarare un array dinamico di strutture? Thanks

ciao,

secondo me un'abbondanza di variabili globali potrebbe essere sintomo di un design troppo complesso. Ci dai qualke info in + sul tuo lavoro?
The3DProgrammer è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 14:13   #3
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6638
Quote:
Originariamente inviato da The3DProgrammer
ciao,

secondo me un'abbondanza di variabili globali potrebbe essere sintomo di un design troppo complesso. Ci dai qualke info in + sul tuo lavoro?
ho fatto un programma che crea e risolve labirinti. Ho a disposizione due algoritmi di generazione del labirinto, due funzioni euristiche e 10 algoritmi di pathfinding. Il fatto è che le dichiaravo globali per fare prima, poi dicevo, tanto le sistemo! Ma non lo facevo mai, ed adesso sono troppe, circa 50 !
Unrue è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 14:26   #4
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da Unrue
ho fatto un programma che crea e risolve labirinti. Ho a disposizione due algoritmi di generazione del labirinto, due funzioni euristiche e 10 algoritmi di pathfinding. Il fatto è che le dichiaravo globali per fare prima, poi dicevo, tanto le sistemo! Ma non lo facevo mai, ed adesso sono troppe, circa 50 !
Per l'array di structs:
Codice:
typedef struct
{
   int c;
} X;

X *x;
x = new X(n);
dove n é il numero di elementi allocati.

Per il resto, scusa ma se non ci riesci tu che l'hai fatto il programma come fa a riuscirci uno esterno che non sa niente di quello che hai fatto ?
Ti consiglio di fermarti ogni tanto e mettere a posto il tutto, prima che diventi impossibile
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 14:30   #5
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da trallallero
Codice:
x = new X(n);
Tra parentesi quadre:
x = new X[n];
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 14:37   #6
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da andbin
Tra parentesi quadre:
x = new X[n];
ops vero
in effetti non lavoro in C++ da un pó
solo pro*C
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 14:55   #7
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 6638
Quote:
Originariamente inviato da trallallero
Per l'array di structs:
Codice:
typedef struct
{
   int c;
} X;

X *x;
x = new X(n);
dove n é il numero di elementi allocati.

Per il resto, scusa ma se non ci riesci tu che l'hai fatto il programma come fa a riuscirci uno esterno che non sa niente di quello che hai fatto ?
Ti consiglio di fermarti ogni tanto e mettere a posto il tutto, prima che diventi impossibile
Volevo solo sapere se c'è un metodo elegante per scrivere variabili globali, anzichè elencarle una ad una.
Unrue è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 15:21   #8
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da Unrue
Volevo solo sapere se c'è un metodo elegante per scrivere variabili globali, anzichè elencarle una ad una.
non capisco
che significa metodo elegante ? la variabile globale secondo me non é elegante di per se, la vedo come una "non ho alternative" ...
Puoi fare una struttura VARIABILI_GLOBALI e le metti tutte li dentro ma mi sembra ancora piú una porcata
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 16:05   #9
Marco Giunio Silano
Senior Member
 
L'Avatar di Marco Giunio Silano
 
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 908
Quote:
Originariamente inviato da trallallero
non capisco
che significa metodo elegante ? la variabile globale secondo me non é elegante di per se, la vedo come una "non ho alternative" ...
Puoi fare una struttura VARIABILI_GLOBALI e le metti tutte li dentro ma mi sembra ancora piú una porcata

il rimprovero del programmatore senior. Comunque quoto. Le globali sono della serie: "che parametri mi servono... ehm... espetta... vabbè, la butto blobale poi si vedrà". E alla fine ne hai dieci per la stessa cosa.
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita
Milla
Marco Giunio Silano è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 16:24   #10
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
se ne hai troppe globali mettile locali, che vuoi da noi...
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 16:26   #11
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da Marco Giunio Silano

il rimprovero del programmatore senior. Comunque quoto. Le globali sono della serie: "che parametri mi servono... ehm... espetta... vabbè, la butto blobale poi si vedrà". E alla fine ne hai dieci per la stessa cosa.
Bravo! Anch'io la metto globale per vedere se funziona, temporaneamente, magari ho avuto un'idea e non mi va di perdere tempo a cercare un alternativa alla globale ...
ma appena il tutto quadra bisogna rendere la cosa pulita, ordinata e mantenibile
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 16:27   #12
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da 71104
se ne hai troppe globali mettile locali, che vuoi da noi...
sempre gentilissimo, eh
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 16:33   #13
Marco Giunio Silano
Senior Member
 
L'Avatar di Marco Giunio Silano
 
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 908
Quote:
Originariamente inviato da trallallero
Bravo! Anch'io la metto globale per vedere se funziona, temporaneamente, magari ho avuto un'idea e non mi va di perdere tempo a cercare un alternativa alla globale ...
ma appena il tutto quadra bisogna rendere la cosa pulita, ordinata e mantenibile
esatto, il difficile non è farlo funzionare il codice, ma renderlo pulito, trasportabile, snello, che usa poche risorse, poca memoria, pochi cicli... ma quando lo dicevo io mi prendevano per pazzo e mi rispondevano: "che perdita di tempo inutile, io ci metto la metà!". Già, è vero, ma quando dovevano rimetterci le mani dopo qualche mese... apriti cielo!
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita
Milla
Marco Giunio Silano è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 16:41   #14
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Unrue
Volevo solo sapere se c'è un metodo elegante per scrivere variabili globali, anzichè elencarle una ad una.
Non è che c'è un modo "elegante" o meno di usare le variabili globali ... dipende da cosa sono quelle variabili e dal "significato" che hanno.

Io ad esempio in Win32 sono abituato a mettere una variabile globale:
HINSTANCE g_hInstance;

impostandola nella WinMain. Dal momento che all'interno della applicazione di istanza ce n'è una sola, non vedo nulla di male a mettere questa informazione "globale" come variabile ... globale.

Se metti le variabili come globali semplicemente perché non sai come gestirle in altro modo o perché non hai voglia di strutturare meglio i tuoi dati ... e un'altra cosa e non va bene.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 16:42   #15
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da Marco Giunio Silano
esatto, il difficile non è farlo funzionare il codice, ma renderlo pulito, trasportabile, snello, che usa poche risorse, poca memoria, pochi cicli... ma quando lo dicevo io mi prendevano per pazzo e mi rispondevano: "che perdita di tempo inutile, io ci metto la metà!". Già, è vero, ma quando dovevano rimetterci le mani dopo qualche mese... apriti cielo!

Stessa cosa qui, solo che oltre a far tutte le variabili globali fanno pro*C di 5/6000 righe indentate alla pizza e fichi il tutto per qualche tabulato, 15 query, 2 mesi di lavoro
Ultimamente mi hanno dato un lavoro da fare, un pro*C ex novo ( ) per la creazione di 12 tabulati diversi. 700 righe, 1 variabile globale (per il log), 1 query creata in maniera dinamica, 4 giorni di lavoro
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 16:47   #16
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da andbin
impostandola nella WinMain. Dal momento che all'interno della applicazione di istanza ce n'è una sola, non vedo nulla di male a mettere questa informazione "globale" come variabile ... globale.
Beh, si, non che per forza globale = cacca. Poi instance immagina debba essere reperibile dall'esterno, sarebbe assurdo locale. Peró, appunto, se uno le usa per pigrizia mentale per me sbaglia.
Come il goto ... io non ne parlo bene, peró col pro*C in caso di errore é molto utile
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 16:52   #17
Marco Giunio Silano
Senior Member
 
L'Avatar di Marco Giunio Silano
 
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 908
Quote:
Originariamente inviato da trallallero

Stessa cosa qui, solo che oltre a far tutte le variabili globali fanno pro*C di 5/6000 righe indentate alla pizza e fichi il tutto per qualche tabulato, 15 query, 2 mesi di lavoro
Ultimamente mi hanno dato un lavoro da fare, un pro*C ex novo ( ) per la creazione di 12 tabulati diversi. 700 righe, 1 variabile globale (per il log), 1 query creata in maniera dinamica, 4 giorni di lavoro
eheh indentare! quando ne parli sembra una cosa da dentisti e ti risp: "tanto compila comunque". e i commenti? sembrano una bestia che ti morde le dita se li scrivi. Una volta una mi ha risposto: "tanto mica vengono compilati, a che servono?".
Nomi delle variabili del tipo: a, aa, aaa, aaaa, poi quando le trovi nel codice e chiedi "che è aaaa" nascono delle facce!
Semrba di combattere con i mulini a vento, infatti ho cambiato, basta programmazione, ora mi faccio l'analista e spacco i maroni ai programmatori!
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita
Milla
Marco Giunio Silano è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 16:53   #18
Marco Giunio Silano
Senior Member
 
L'Avatar di Marco Giunio Silano
 
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 908
Quote:
Originariamente inviato da trallallero
Beh, si, non che per forza globale = cacca. Poi instance immagina debba essere reperibile dall'esterno, sarebbe assurdo locale. Peró, appunto, se uno le usa per pigrizia mentale per me sbaglia.
Come il goto ... io non ne parlo bene, peró col pro*C in caso di errore é molto utile
quando ero un programmatore junior e usavo il goto erano bacchettate sulle dita. ora lo odio, esci dalla programmazioen strutturata, non è bello e nn è da usare se non in casi estremi.
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita
Milla
Marco Giunio Silano è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 17:02   #19
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da Marco Giunio Silano
eheh indentare! quando ne parli sembra una cosa da dentisti e ti risp: "tanto compila comunque". e i commenti? sembrano una bestia che ti morde le dita se li scrivi. Una volta una mi ha risposto: "tanto mica vengono compilati, a che servono?".
Nomi delle variabili del tipo: a, aa, aaa, aaaa, poi quando le trovi nel codice e chiedi "che è aaaa" nascono delle facce!
Semrba di combattere con i mulini a vento, infatti ho cambiato, basta programmazione, ora mi faccio l'analista e spacco i maroni ai programmatori!
beato te! io sono eterno consulente ed ai consulenti l'analisi non la fanno fare

per il discorso indentazione ho fatto un indentatore Sql talmente mi ero rotto di modificare quei pro*C ... anzi, domani lo metto qui a disposizione! Diffondo la mania all'indentazione!
a domani ... ops .. é vero! i programmatori vanno a casa alle 17 gli analisti alle 19
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 17:06   #20
Marco Giunio Silano
Senior Member
 
L'Avatar di Marco Giunio Silano
 
Iscritto dal: Jun 2006
Città: Inverno: Novgorod. Estate: Haifa
Messaggi: 908
Quote:
Originariamente inviato da trallallero
beato te! io sono eterno consulente ed ai consulenti l'analisi non la fanno fare

per il discorso indentazione ho fatto un indentatore Sql talmente mi ero rotto di modificare quei pro*C ... anzi, domani lo metto qui a disposizione! Diffondo la mania all'indentazione!
a domani ... ops .. é vero! i programmatori vanno a casa alle 17 gli analisti alle 19
grrr alle 19, già, ma entrano alle 10
__________________
Hosti non solum dandam esse viam ad fugiendum, sed etiam muniendam / Ceterum censeo Carthaginem esse delendam / Et facere et pati fortia romanum est / Nemo Romanorum pacis mentionem habere dignatus est / Roma locuta, causa finita
Milla
Marco Giunio Silano è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Keenadu, nuovo malware Android: Kaspersk...
MSI GeForce RTX 5090 Lightning Z a 2500 ...
Call of Duty: Warzone Mobile chiuder&agr...
Portatile tuttofare HP Ryzen 7, 16GB RAM...
LEFANT M3Max è uno dei robot pi&u...
Addio muffa e umidità: deumidific...
Apple TV in arrivo su CarPlay? Il codice...
TSMC pronta ad annunciare quattro nuove ...
Alla ricerca di un drone professionale a...
Stop agli assistenti AI integrati su tab...
iPhone 18 Pro e Pro Max: addio alle SIM ...
Samsung Galaxy S26: l'Exynos 2600 &egrav...
PS6 in forte ritardo e Switch 2 pi&ugrav...
Nuova rimodulazione da TIM: fino a 5 eur...
Apple annuncia un nuovo evento per il 4 ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:26.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v