Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
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: 6325
[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 è online   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: 6325
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 è online   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: 6325
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 è online   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: 879
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: 879
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: 879
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: 879
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: 879
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 Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
Rivoluzione Linux fra i gamer: nuovo rec...
OnePlus 15R: in attesa dell'arrivo in It...
BIOS schede madri AMD: AGESA 1.2.8.0 in ...
Questa Smart TV LG 65'' QNED 2025 è un b...
PC Desktop con RTX 4060 a un prezzo supe...
Il nuovo iPhone 17e arriverà a in...
POCO anticipa l'arrivo di un nuovo smart...
Ecco la lista delle migliori 32 offerte ...
Intel cambia strategia: cancellato lo sp...
Uno dei più venduti: Lefant M330 ...
Superluna Fredda 2025: oggi l'ultima Lun...
4 idee regalo in sconto su Amazon da pre...
Netflix vuole Warner Bros Discovery: in ...
Meta 'ruba' un altro big ad Apple: arruo...
2 scope elettriche ai minimi: per spazi ...
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: 09:54.


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