Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di bubu80
    Registrato dal
    Aug 2002
    Messaggi
    99

    [Vb.NET] Passaggio per riferimento o valore?

    ciao a tutti

    oggi spulciando un codice scaricato dalla rete

    ho notato che in alcune subroutine venivano passati valori (d tipo valore Integere,Short etc..) utilizzando byref invece che byval ... come mai questa scelta?

    Io finora il byref lo uso solo x oggetti con una certa dimensione ...
    non per passare un integere o un short ...

    ho le idee confuse io? oppre si guadagna qualcosa??
    Non si finisce mai di imparare...

  2. #2
    passare un parametro per riferimento , di qualsiasi tipo sia, può essere utile ad esempio per modificarlo all'interno della routine
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Ne abbiamo parlato abbondantemente alla fine di questa discussione.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Utente di HTML.it L'avatar di bubu80
    Registrato dal
    Aug 2002
    Messaggi
    99
    grazie per le risposte...

    la differenza che c'è tra passaggio di valore e riferimentomi mi è abbastanza chiara...
    (anzi una ulteriore domandina quando si effettua il passaggio per valore la copia viene effettua nello stack o nell'heap o viene effettuata in base tipo di variabile che gli si passa)

    ma la cosa che mi incuriosiva e che in queste routine i valori passati es:byref riga as integer
    non viene modificata all'interno della roitine ma solo letta..

    mi chiedevo quindi se magari è stata passate x un incremento delle performance ? oppure per errore del programmatore..

    grazie ancora ciao
    Non si finisce mai di imparare...

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,482
    Originariamente inviato da bubu80
    mi chiedevo quindi se magari è stata passate x un incremento delle performance ? oppure per errore del programmatore..
    Un incremento in performance si potrebbe avere quando l'oggetto è complesso, ma nel caso in esame, passare un puntatore intero alla locazione da modificare o un puntatore alla copia del valore non dovrebbe cambiare più di tanto.

    Secondo me, la precedenza va data al "significato", piuttosto che alle sfumature di performance, salvo casi particolari.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.