Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Intel Panther Lake: i processori per i notebook del 2026
Intel Panther Lake: i processori per i notebook del 2026
Panther Lake è il nome in codice della prossima generazione di processori Intel Core Ultra, che vedremo al debutto da inizio 2026 nei notebook e nei sistemi desktop più compatti. Nuovi core, nuove GPU e soprattutto una struttura a tile che vede per la prima volta l'utilizzo della tecnologia produttiva Intel 18A: tanta potenza in più, ma senza perdere in efficienza
Intel Xeon 6+: è tempo di Clearwater Forest
Intel Xeon 6+: è tempo di Clearwater Forest
Intel ha annunciato la prossima generazione di processori Xeon dotati di E-Core, quelli per la massima efficienza energetica e densità di elaborazione. Grazie al processo produttivo Intel 18A, i core passano a un massimo di 288 per ogni socket, con aumento della potenza di calcolo e dell'efficienza complessiva.
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso
Titan Army P2712V è un monitor da 27 pollici che unisce due anime in un unico prodotto: da un lato la qualità visiva del 4K UHD a 160 Hz, dall'altro la velocità estrema del Full HD a 320 Hz. Con pannello Fast IPS, HDR400, Adaptive-Sync, illuminazione RGB e regolazioni ergonomiche, punta a soddisfare sia i giocatori competitivi che i content creator
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-01-2008, 17:50   #21
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
beh se fosse stato un passaggio per riferimento avrebbe invalidato l'array anche fuori dalla funzione in cui c'è stato l'assegnamento. invece questo non si verifica (infatti l'array quando esce dalla funzione è tale e quale), quindi se ne deduce che il passaggio dei parametri non è mai per riferimento. ma al massimo può essere per copia del riferimento nel caso degli oggetti.
se il parametro 'array' contiene l'indirizzo dell'oggetto, modificare il suo valore non modifica l'oggetto in sè, tanto più che null non è un oggetto, ma un valore di un riferimento e in quanto tale non può essere assegnato a un oggetto.

il passaggio per riferimento dipende, secondo me, dalla semantica degli operatori. In C ci sono operatori che operano sul contenuto di un'area di memoria sovrascrivendolo, un oggetto in Java non viene sovrascritto, è il riferimento che viene modificato per puntare a un oggetto diverso

a sto punto domando: in C, quando passo un puntatore, sto usando il passaggio per valore (del puntatore) o per riferimento?

PS: please, avvertitemi se ho scritto vaccate

PPS: ma PGI-Bis che fine ha fatto?

Ultima modifica di mad_hhatter : 16-01-2008 alle 17:54.
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 08:01   #22
akyra
Senior Member
 
L'Avatar di akyra
 
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
Quote:
Originariamente inviato da blue_blue Guarda i messaggi
Rieccomi con una nuova, entusiasmente domanda
qualcuno mi spiega in soldoni cosa vuol dire che in java "i parametri vengono passati per valore"??
La prof non l'ha mai chiesto e sul libro c'è mezza riga, ma vorrei capirlo io per curiosità..non riesco proprio a focalizzare il concetto

Grazie
mmm...forse mi è sfuggito, ma scusa ma che cosa studi? superiori o università?
è molto strano che un prof non faccia accenno a una cosa di questo tipo...almeno per quanto ho fatto io finora, all'università sono passato prima per il C poi per il java, ed è stata una delle prime cose che mi hanno insegnato...
molto strano anche che neppure ll libro ne parli
__________________
akyra è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 08:13   #23
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
PPS: ma PGI-Bis che fine ha fatto?
In effetti è un pezzo che non si vede...
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 09:15   #24
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
se il parametro 'array' contiene l'indirizzo dell'oggetto, modificare il suo valore non modifica l'oggetto in sè, tanto più che null non è un oggetto, ma un valore di un riferimento e in quanto tale non può essere assegnato a un oggetto.

il passaggio per riferimento dipende, secondo me, dalla semantica degli operatori. In C ci sono operatori che operano sul contenuto di un'area di memoria sovrascrivendolo, un oggetto in Java non viene sovrascritto, è il riferimento che viene modificato per puntare a un oggetto diverso

a sto punto domando: in C, quando passo un puntatore, sto usando il passaggio per valore (del puntatore) o per riferimento?

PS: please, avvertitemi se ho scritto vaccate

PPS: ma PGI-Bis che fine ha fatto?
in ogni caso per un linguaggio a oggetti come Java la distinzione tra passaggio di un oggetto per valore del riferimento o per riferimento mi sembra più una sottigliezza lessicale che sostanziale: di fatto non sto passando per valore l'oggetto in sè, che resta un'entità condivisa tra chiamante e funzione chiamata, configurando un passaggio per riferimento dell'entità stessa... in effetti passare per valore un riferimento è concettualmente equivalente a passare per riferimento un'area di memoria. O sbaglio?

facciamo allora un altro esperimento: se in C passo a una funzione un puntatore e la funzione modifica il valore della variabile che lo rappresenta localmente ad essa, la modifca ha effetti sull'area di memoria identificata dal puntatore? direi di no. la modifica si propaga al chiamante? il che è equivalente a chiedere: in C un puntatore viene passato per valore?

non conosco affatto bene il C, quindi aspetto risposte, non ho fatto domande retoriche
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 09:47   #25
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
se in C passo a una funzione un puntatore e la funzione modifica il valore della variabile che lo rappresenta localmente ad essa, la modifca ha effetti sull'area di memoria identificata dal puntatore?
Dipende dalla modifica... in C quando hai in mano un puntatore puoi usarlo in due modi diversi: applicandogli l'operatore di dereferenziazione (*) produci come risultato l'oggetto puntato quindi un eventuale assegnamento ha effetti sull'area di memoria identificata dal puntatore, come nell'esempio qui sotto:

[controllate se ho commesso errori... è da tempo che non scrivo più codice in C]

Codice:
// dichiarazione funzione
void changeValue(int*);

---
...
---

// definizione funzione
void changeValue(int* pointer) {
    *pointer = 10;
}

---
...
---

// utilizzo
int i  = 6;
int *pi = i;

printf("i vale %d", i);  // stampa: i vale 6

changeValue(pi);

printf("i vale %d", i);  // stampa: i vale 10
L'altro modo è di utilizzare il puntatore direttamente, senza dereferenziarlo, quindi un eventuale assegnamento ha effetti sul valore stesso del puntatore, cioè il valore dell'indirizzo in memoria che conserva al suo interno.

Non so se questo risponde alla tua domanda.

Codice:
// dichiarazione funzione
void changeAddress(int*);

---
...
---

// definizione funzione
void changeAddress(int* pointer) {
    pointer += 4000;
}

---
...
---

// utilizzo
int i  = 6;
int *pi = i;

printf("i vale %d", i);  // stampa: i vale 6
printf("pi vale %p", pi);  // stampa: pi vale [indirizzo memoria corrispondente a i]

changeAddress(pi);

printf("i vale %d", i);  // stampa: i vale 6
printf("pi vale %p", pi);  // stampa: pi vale [indirizzo memoria modificato]



@EDIT: ho scritto il post "a rate"

Ultima modifica di banryu79 : 17-01-2008 alle 10:04.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 09:59   #26
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da banryu79 Guarda i messaggi
Dipende dalla modifica...

[...]

L'altro modo è di utilizzare il puntatore direttamente, senza dereferenziarlo, quindi un eventuale assegnamento ha effetti sul valore stesso del puntatore, cioè il valore dell'indirizzo in memoria che conserva al suo interno.

Non so se questo risponde alla tua domanda.
intendevo esclusivamente il secondo caso.

che succede se modifico il contenuto della variabile che contiene l'indirizzo di memoria?
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 10:15   #27
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7257
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
in ogni caso per un linguaggio a oggetti come Java la distinzione tra passaggio di un oggetto per valore del riferimento o per riferimento mi sembra più una sottigliezza lessicale che sostanziale: di fatto non sto passando per valore l'oggetto in sè, che resta un'entità condivisa tra chiamante e funzione chiamata, configurando un passaggio per riferimento dell'entità stessa... in effetti passare per valore un riferimento è concettualmente equivalente a passare per riferimento un'area di memoria. O sbaglio?
no non è solo una sottigliezza lessicale e non sono concettualmente la stessa cosa. altrimenti un cambio di riferimento all'interno del metodo sarebbe visibile anche fuori dal metodo (un passaggio per riferimento funzionerebbe così). se uno pensa che in java avviene il passaggio per riferimento degli oggetti può commettere quindi degli errori (es. cambiare il riferimento di un oggetto dentro un metodo e credere che la modifica sia visibile fuori dal metodo).
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 10:40   #28
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
no non è solo una sottigliezza lessicale e non sono concettualmente la stessa cosa. altrimenti un cambio di riferimento all'interno del metodo sarebbe visibile anche fuori dal metodo (un passaggio per riferimento funzionerebbe così). se uno pensa che in java avviene il passaggio per riferimento degli oggetti può commettere quindi degli errori (es. cambiare il riferimento di un oggetto dentro un metodo e credere che la modifica sia visibile fuori dal metodo).
per questo ho chiesto cosa succede se, in C, modifico il valore di un puntatore in un metodo...

e comunque il tutto dipende dalla semantica degli operatori di assegnamento
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 10:44   #29
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7257
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
per questo ho chiesto cosa succede se, in C, modifico il valore di un puntatore in un metodo...

e comunque il tutto dipende dalla semantica degli operatori di assegnamento
no in realtà dipende dalla semantica del passaggio dei parametri. nel passaggio per riferimento non succede quello che succede in java
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 10:49   #30
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
no in realtà dipende dalla semantica del passaggio dei parametri. nel passaggio per riferimento non succede quello che succede in java
giusto. però dipende dal fatto che in C il passaggio di un puntatore avviene esso stesso per riferimento

poi dipende dalla prospettiva: un oggetto in Java non è passato per valore, ma per riferimento... il suo riferimento è passato per valore...

Ultima modifica di mad_hhatter : 17-01-2008 alle 11:02.
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 12:00   #31
blue_blue
Senior Member
 
L'Avatar di blue_blue
 
Iscritto dal: Aug 2006
Messaggi: 1192
Quote:
Originariamente inviato da akyra Guarda i messaggi
mmm...forse mi è sfuggito, ma scusa ma che cosa studi? superiori o università?
è molto strano che un prof non faccia accenno a una cosa di questo tipo...almeno per quanto ho fatto io finora, all'università sono passato prima per il C poi per il java, ed è stata una delle prime cose che mi hanno insegnato...
molto strano anche che neppure ll libro ne parli
ho cominciato quest'anno ing biomedica..la prof non è che non l'ha fatto, ma ha liquidato l'argomento in pochi minuti, e di solito mi avevano detto che non lo chiedeva come teoria. Sul libro secondo me è spiegato in modo troppo sbrigativo..voglio dire, già qua sono venute fuori due pagine di discussione, mentre nel libro è scritto quello che ho riportato poco sopra con solo un esempio (che tra l'altro a me non ha chiarito per niente le idee)..poi boh, magari sono anche io un po' dura ..
__________________
blue_blue: nickname proprio di persona, femminile, singolare
"Wait, before you close the curtain/There’s still another game to play/And life is beautiful that way"(Beautiful that way, Noa & Nicola Piovani)
Fiore, sei un mito
blue_blue è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 18:02   #32
lovaz
Senior Member
 
L'Avatar di lovaz
 
Iscritto dal: Jul 2002
Messaggi: 4334
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
... altrimenti un cambio di riferimento all'interno del metodo sarebbe visibile anche fuori dal metodo (un passaggio per riferimento funzionerebbe così)...
Non mi risulta, magari fai un esempio.
Un riferimento a un oggetto viene passato per valore, su questo non si discute, qui si discute sul passaggio dell'oggetto vero e proprio
lovaz è offline   Rispondi citando il messaggio o parte di esso
Old 17-01-2008, 19:34   #33
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7257
Quote:
Originariamente inviato da lovaz Guarda i messaggi
Non mi risulta, magari fai un esempio.
Un riferimento a un oggetto viene passato per valore, su questo non si discute, qui si discute sul passaggio dell'oggetto vero e proprio
l'esempio l'ha già fatto prima un'altro utente.. basta che all'interno del metodo cambi il riferimento all'oggetto (nell'esempio si assegnava null, ma la stessa cosa succede con la creazione di una nuova istanza).
in un passaggio per riferimento la modifica sarebbe visibile anche fuori dal metodo
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 08:38   #34
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
in un passaggio per riferimento la modifica sarebbe visibile anche fuori dal metodo
una modifica all'entità riferita, certo... una modifica del valore del riferimento, solo se esso è passato usando l'indirizzamento indiretto della variabile puntatore...

giusto?
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 09:41   #35
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7257
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
una modifica all'entità riferita, certo... una modifica del valore del riferimento, solo se esso è passato usando l'indirizzamento indiretto della variabile puntatore...

giusto?
ammetto di non aver capito bene la domanda io mi riferivo al caso di java comunque.
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 10:01   #36
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
ammetto di non aver capito bene la domanda io mi riferivo al caso di java comunque.
si, scusami, sono stato un po' criptico

per farla breve:
JAVA:
- tipi primitivi: passaggio per valore
- oggetti: passaggio per copia del valore del riferimento (il che equivale a passare l'oggetto in sè per riferimento)

PUNTATORI in C:
il passaggio NON avviene per copia del loro valore, ma tramite indirizzamento indiretto (altrimenti la loro modifica all'interno di un metodo non avrebbe scope globale)

C:
il passaggio di un'area di memoria tramite puntatore è un passaggio per riferimento, alla stregua del passaggio di un oggetto in java. la differenza è che in C il puntatore stesso è passato per riferimento


corretto?
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 11:03   #37
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7257
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
si, scusami, sono stato un po' criptico

per farla breve:
JAVA:
- tipi primitivi: passaggio per valore
- oggetti: passaggio per copia del valore del riferimento (il che equivale a passare l'oggetto in sè per riferimento)

PUNTATORI in C:
il passaggio NON avviene per copia del loro valore, ma tramite indirizzamento indiretto (altrimenti la loro modifica all'interno di un metodo non avrebbe scope globale)

C:
il passaggio di un'area di memoria tramite puntatore è un passaggio per riferimento, alla stregua del passaggio di un oggetto in java. la differenza è che in C il puntatore stesso è passato per riferimento


corretto?
uhm no.. è molto più semplice di quello che pensi. infatti non c'è nessuna differenza di trattamento tra variabili, puntatori e oggetti (dove applicabili) in C e in Java. tutto viene passato per valore!
in java gli oggetti sono delle variabili che contengono un riferimento a un'area di memoria, quindi questo riferimento viene passato per valore. in C la cosa è equivalente con i puntatori.
per convincertene prova a eseguire questo codice:
Codice:
#include <stdio.h>
#include <stdlib.h>

void foo(int* number)
{
  int* anotherNumber = (int*)malloc(sizeof(int));
  (*anotherNumber) = 4;
  number = anotherNumber;
}

int main(int argc, char* argv[])
{
  int* number = (int*)malloc(sizeof(int));
  (*number) = 1;
  foo(number);
  printf("\n%d\n", (*number));
  return EXIT_SUCCESS;
}
stesso comportamento di java
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 11:06   #38
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7257
aggiungo che la credenza che il C abbia il passaggio per riferimento è fonte di innumerevoli errori
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 11:21   #39
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
aggiungo che la credenza che il C abbia il passaggio per riferimento è fonte di innumerevoli errori
permettimi: se passi un puntatore a un metodo in C e ne modifichi il valore e tale modifica risulta globale allora il puntatore non può essere stato passato per valore, altrimenti avresti un comportamento alla java in cui modificando il riferimento a un oggetto all'interno di un metodo non modifca affatto gli altri riferimenti all'oggetto stesso
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 18-01-2008, 11:24   #40
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
uhm no.. è molto più semplice di quello che pensi. infatti non c'è nessuna differenza di trattamento tra variabili, puntatori e oggetti (dove applicabili) in C e in Java. tutto viene passato per valore!
in java gli oggetti sono delle variabili che contengono un riferimento a un'area di memoria, quindi questo riferimento viene passato per valore. in C la cosa è equivalente con i puntatori.
per convincertene prova a eseguire questo codice:
Codice:
#include <stdio.h>
#include <stdlib.h>

void foo(int* number)
{
  int* anotherNumber = (int*)malloc(sizeof(int));
  (*anotherNumber) = 4;
  number = anotherNumber;
}

int main(int argc, char* argv[])
{
  int* number = (int*)malloc(sizeof(int));
  (*number) = 1;
  foo(number);
  printf("\n%d\n", (*number));
  return EXIT_SUCCESS;
}
stesso comportamento di java
in java un oggetto non è passato per valore, ma per riferimento, o, più precisamente, per copia del valore di un riferimento che punta ad esso. Ma l'oggetto passatto non viene copiato

non confondere l'oggetto con il suo riferimento!
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Intel Panther Lake: i processori per i notebook del 2026 Intel Panther Lake: i processori per i notebook ...
Intel Xeon 6+: è tempo di Clearwater Forest Intel Xeon 6+: è tempo di Clearwater Fore...
4K a 160Hz o Full HD a 320Hz? Titan Army P2712V, a un prezzo molto basso 4K a 160Hz o Full HD a 320Hz? Titan Army P2712V,...
Recensione Google Pixel Watch 4: basta sollevarlo e si ha Gemini sempre al polso Recensione Google Pixel Watch 4: basta sollevarl...
OPPO Watch X2 Mini, lo smartwatch compatto a cui non manca nulla OPPO Watch X2 Mini, lo smartwatch compatto a cui...
Ex CEO di Google mette in guardia: 'L'AI...
Meno soldi ai chip, più buche rip...
Figure 03 è il primo robot umanoi...
'Avidità e tradimento dei giocato...
Intel rivede la sua strategia open sourc...
Intel: ciclo di rilascio annuale per gli...
Intel XeSS 3 porta la Multi-Frame Genera...
PlayStation 6 e nuove Radeon, ecco le te...
New York porta in tribunale TikTok, Meta...
L'intelligenza artificiale canceller&agr...
Battlefield 6: analisi grafica e DLSS
Gauss Fusion presenta GIGA: l'Europa acc...
Lo sapete che anche le auto elettriche d...
Oltre un miliardo di dati sensibili sott...
iPhone 17, segni sui modelli in esposizi...
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: 07:17.


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