Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-07-2006, 13:08   #1
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 7110
[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, 13: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, 13:13   #3
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 7110
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, 13: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, 13:30   #5
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da trallallero
Codice:
x = new X(n);
Tra parentesi quadre:
x = new X[n];
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 13: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, 13:55   #7
Unrue
Senior Member
 
L'Avatar di Unrue
 
Iscritto dal: Nov 2002
Messaggi: 7110
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, 14: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, 15: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, 15: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, 15: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, 15: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, 15: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, 15:41   #14
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
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, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-07-2006, 15: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, 15: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, 15: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, 15: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, 16: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, 16: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


Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
Amazon TOP 10: rivoluzione nelle prime 4...
Amazfit spinge forte su quattro nuovi sm...
Sony esce allo scoperto? In arrivo una P...
Chatbot, salute e dati sanitari: in USA ...
SwitchBot Smart Lock Pro, super sconto e...
LibrePods arriva alla v1.0.0-rc1: il pro...
5 mini PC con 32GB di RAM, da 399€ a 519...
Il futuro è arrotolabile: Samsung punta ...
Meno giochi di terze parti per il futuro...
iOS e iPadOS 26.5.2 ufficiali: quasi 30 ...
macOS Tahoe 26.5.2 rilasciato: nessuna n...
Apple non vuole perdere tempo: i nuovi M...
Motorola Edge 70 Fusion a 284€, prezzo p...
Clamoroso schiaffo a Xbox: l'80% degli u...
GTA 6 a 60 FPS su console: spuntano i de...
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:22.


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