Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
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: 6401
[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: 6401
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: 6401
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: 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


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
iPhone Fold: scorte limitate al lancio m...
OpenAI porterà la pubblicità in ChatGPT ...
TSMC aumenterà ancora i prezzi: nel 2026...
Marvel pubblica anche il secondo teaser ...
Nuovo accordo tra xAI e il Pentagono: l'...
La famiglia Xiaomi 17 sta per registrare...
Nuove auto elettriche che vedremo sul me...
E-bike illegali, a Verona il più ...
Quali sono i giochi più venduti su Steam...
HONOR sta per lanciare un nuovo smartpho...
Jared Isaacman sarà alla guida de...
Il Tesla Cybertruck non arriverà ...
Xiaomi Watch 5 è ufficiale: architettura...
CD Projekt vende GOG: il co-fondatore Mi...
Il meglio di Amazon in 26 prodotti, aggi...
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: 23:10.


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