Quali sono gli operatori puntatore a membro ->* e .* in C++? - ViResist (2023)

momento della lettura:8minuti

Quali sono gli operatori puntatore a membro ->* e .* in C++? - ViResist (1)
Utente541686

Sì, ho visto questa domanda equeste domande frequentima ioAncoranon si capisce cosa->*E.*significa in C++.
Questi siti forniscono informazioniSoprama gli operatori (es. sovraccarico) non sembrano spiegare bene cosa sonoSono.

Cosa sono->*E.*in C++ e quando è necessario utilizzarli rispetto a->E.?

    Quali sono gli operatori puntatore a membro ->* e .* in C++? - ViResist (2)
    Armen Tsirunjan

    Spero che questo esempio ti chiarisca le idee

    //abbiamo una classstruct X{ void f() {} void g() {}};typedef void (X::*pointer)();//ok, prendiamo un puntatore e gli assegniamo f.pointer somePointer = &X::f;//ora voglio chiamare somePointer. Ma per questo, ho bisogno di un oggettoX x;//ora chiamo la funzione membro su x come this(x.*somePointer)(); //chiamerà x.f()//ora, supponiamo che x non sia un oggetto ma un puntatore a objectX* px = new X;//voglio chiamare il puntatore memfun su px. io uso ->*(px ->* somePointer)(); //chiamerà px->f();

    Ora non puoi usarex.somePointer()Opx->somePointer()perché non esiste un tale membro nella classe X. Utilizza la sintassi di chiamata del puntatore della funzione membro speciale per questo ... prova solo alcuni esempi tu stesso, ti ci abituerai

    • Aggiungi ilnecessarioparentesi graffe aggiuntive per compensare la precedenza dell'operatore.

      – Martin York

      5 lug 2011, ore 17:33

    • Una funzione puntatore a membroPotereessere più grande di un normale puntatore a una funzione: in particolare per gestire l'ereditarietà iirc

      - Inutile

      5 luglio 2011 alle 18:05

    • Pensalo come un puntatore "relativo": relativo a un oggetto, che devi quindi specificare per raggiungere effettivamente la destinazione finale.

      – gr.

      9 agosto 2019 alle 18:16


    • È davvero una buona spiegazione e cosa sono. Ma non so davvero perché e quando avremmo bisogno di qualcosa del genere.

      - Coincidentalmente

      5 gennaio alle 23:15

    Quali sono gli operatori puntatore a membro ->* e .* in C++? - ViResist (3)
    Sproff

    EDIT: Btw diventa strano perPuntatori a funzioni membro virtuali.

    Per le variabili membro:

    struct Foo { int a; int b;};int main (){ Foo foo; int (Foo :: * ptr); ptr = & Foo :: a; pippo .*ptr = 123; // foo.a = 123; ptr = & Foo :: b; pippo .*ptr = 234; // foo.b = 234;}

    Le caratteristiche dei membri sono quasi le stesse.

    struct Foo { int a (); int b ();};int main (){ Foo foo; int (Foo :: * ptr) (); ptr = & Foo :: a; (foo.*ptr) (); // foo.a (); ptr = & Foo :: b; (foo.*ptr) (); // foo.b ();}
    • +1 per mostrare che la sintassi si applica a tutti i membri, non solo alle funzioni membro. Tuttavia, trovo che i puntatori alle variabili membro siano usati molto raramente, nonostante i loro molti usi potenziali piuttosto interessanti.

      – Jon Purdy

      5 lug 2011, ore 17:18

    In breve: usi->E.se sai a quale membro vuoi accedere. E tu usi->*E.*se tunonsapere a quale membro vuoi accedere.

    Esempio con un semplice elenco invadente

    templatestruct List { List(ItemType *head, ItemType * ItemType::*nextMemPointer) :m_head(head), m_nextMemPointer(nextMemPointer) { } void addHead(ItemType *item) { (item ->* m_nextMemPointer) = m_testa; m_head = oggetto; } privato: ItemType *m_head; // memorizza il puntatore membro che denota il // puntatore "successivo" di un elemento ItemType * ItemType::*m_nextMemPointer;};
    • +1 per la prima frase, anche se non l'ho mai fatto in vita mianonnoto a quale membro voglio accedere haha. 🙂

      – Utente541686

      5 luglio 2011 alle 17:45

    Se hai un puntatore normale (a un oggetto o un tipo di base) lo useresti*per deferirlo:

    int a;int* b = a;*b = 5; // usiamo *b per dereferenziare b, per accedere alla cosa a cui punta

    Concettualmente, facciamo lo stesso con un puntatore a funzione membro:

    class SomeClass{ public: void func() {}};// typedef rende i puntatori a funzione molto più semplici.// questo è un puntatore a una funzione membro di SomeClass, che non accetta parametri e restituisce voidtypedef void (SomeClass::*memfunc) ();memfunc myPointer = &SomeClass::func;SomeClass foo;// per chiamare func(), potremmo fare:foo.func();// per chiamare func() usando il nostro puntatore, dobbiamo dereferenziare il puntatore: foo.*myPointer();// questo è concettualmente solo: foo . *myPointer ();// allo stesso modo con un puntatore all'oggetto stesso:SomeClass* p = new SomeClass;// chiamata normale func()p->func();// chiamando func() dereferenziando il nostro puntatore:p- >*myPointer();// questo è concettualmente solo: p -> *myPointer ();

    Spero che questo aiuti a spiegare il concetto. Dereferenziamo efficacemente il nostro puntatore alla funzione membro. È un po' più complicato di così: non è un puntatore assoluto a una funzione in memoria, solo un offset a cui applicarepippoOPSopra. Ma concettualmente lo dereferenziamo in modo molto simile a quello di un normale puntatore a oggetto.

    I cosiddetti "puntatori" ai membri in C++ sono internamente più simili agli offset. Sono necessari sia un tale "puntatore" membro che un oggetto per fare riferimento al membro nell'oggetto. Ma i "puntatori membro" sono usati con la sintassi del puntatore, da cui il nome.

    Ci sono due modi in cui puoi avere un oggetto a portata di mano: hai un riferimento all'oggetto o hai un puntatore all'oggetto.

    Utilizzare come riferimento.*per combinarlo con un puntatore membro e utilizzare per il puntatore->*per combinarlo con un puntatore membro.

    Tuttavia, di norma, non utilizzare i puntatori agli elementi se puoi evitarlo.

    Obbediscono a regole del tutto controintuitive e consentono di aggirarleprotettoAccesso senza casting esplicito, quindi accidentalmente...

    Prost & hth.,

    • +1 per la buona spiegazione senza codice. 🙂 Domanda: Perché non possiamo semplicemente prendere l'indirizzo della funzione come quello di una normale funzione? Un puntatore a una funzione membro è diverso da un puntatore a un'altra funzione? (ad esempio è più grande?)

      – Utente541686

      5 lug 2011, ore 17:44

    • @Überdad: se potessi avere un puntatore a una funzione membro, che era limitato alle funzioni membro non virtuali, in realtà potrebbe essere solo l'indirizzo. Tuttavia, la virtualità o meno non fa parte del tipo di puntatore della funzione membro. Pertanto, la sua rappresentazione deve contenere alcune informazioni sul fatto che il valore corrente si riferisca o meno a una funzione virtuale e, se virtuale, per un'implementazione basata su vtable, informazioni che specifichino un offset nella vtable della classe a cui è associato il tipo di puntatore.

      - evviva e hth. - Alf

      21 ottobre 2014, ore 17:51

    Quali sono gli operatori puntatore a membro ->* e .* in C++? - ViResist (4)
    gatto più più

    Non è possibile dereferenziare il puntatore ai membri come normali puntatori perché le funzioni membro lo richiedonoQuestopuntatore, e devi passarlo in qualche modo. Quindi è necessario utilizzare questi due operatori, con l'oggetto da un lato e il puntatore dall'altro, ad es(oggetto.*ptr)().

    Considera di usarlofunzioneElegamento(standard::Oaumento::a seconda che tu scriva C++03 o 0x).

    • +1 per la buona spiegazione senza codice. 🙂 Domanda: Perché non possiamo semplicemente prendere l'indirizzo della funzione come quello di una normale funzione? Un puntatore a una funzione membro è diverso da un puntatore a un'altra funzione? (ad esempio è più grande?)

      – Utente541686

      5 lug 2011, ore 17:44

    • @Überdad: se potessi avere un puntatore a una funzione membro, che era limitato alle funzioni membro non virtuali, in realtà potrebbe essere solo l'indirizzo. Tuttavia, la virtualità o meno non fa parte del tipo di puntatore della funzione membro. Pertanto, la sua rappresentazione deve contenere alcune informazioni sul fatto che il valore corrente si riferisca o meno a una funzione virtuale e, se virtuale, per un'implementazione basata su vtable, informazioni che specifichino un offset nella vtable della classe a cui è associato il tipo di puntatore.

      - evviva e hth. - Alf

      21 ottobre 2014, ore 17:51

    Operatori di accesso puntatore a membro:.*E->*

    Gli operatori di accesso da puntatore a membro,.*E->*sono usati per dereferenziare aPuntatore al membroin combinazione con unoOggettoe unpuntatore all'oggetto, rispettivamente Questa descrizione si applica a entrambiPuntatori a elementi di datiEPuntatori a funzioni membro.

    Ad esempio, considera la classePippo:

    struct Foo { int i; vuoto f();};

    Quando dichiari un puntatore di elemento,iPtrad unintmembro dei dati diPippo:

    int Foo::* iPtr;

    È possibile inizializzare questo puntatore dell'elementoiPtrin modo che punti alPippo::iMembro:

    iPtr = &Foo::i;

    Per dereferenziare questo puntatore, devi usarlo insieme a aPippoOggetto.

    Ora guarda l'oggettopippoe il puntatore all'oggettofooPtr:

    Foo foo;Foo* fooPtr = &foo;

    Quindi puoi dereferenziareiPtrin combinazione conpippoOfooPtr:

    foo.*iPtr = 0;fooPtr->*iPtr = 0;

    Per analogia puoi usare.*E->*conPuntatori a membri di funzione. Si noti, tuttavia, che è necessario racchiuderli tra parentesi, poiché iloperatore di chiamata di funzionedh,()ha una priorità più alta di entrambi.*E->*:

    void (Foo::*memFuncPtr)() = &Foo::f;(foo.*memFuncPtr)();(fooPtr->*memFuncPtr)();

    Infine, hai bisogno di un oggetto per dereferenziare un puntatore a un membro, ed è quello che usi.*O->*per dereferenziare il puntatore al membro dipende dal fatto che l'oggetto richiesto sia fornito direttamente o tramite un puntatore all'oggetto.

    C++17 - Usastd::invoke()Invece di questo

    L'uso di entrambi gli operatori può essere sostituito da C++17std::invokemodello di funzione.std::invokefornisce un modo coerente per dereferenziare i puntatori ai membri, sia che lo si utilizzi in combinazione con aOggettoo unpuntatore oggettoe anche indipendentemente dal fatto che ilPuntatore al membrocorrisponde ad APuntatore all'elemento datiOPuntatore alla funzione membro:

    // dereferenzia un puntatore a un dato memberstd::invoke(iPtr, foo) = 0; // con un objectstd::invoke(iPtr, fooPtr) = 0; // con un puntatore oggetto// dereferenzia un puntatore a un membro functionstd::invoke(memFuncPtr, foo); // con un objectstd::invoke(memFuncPtr, fooPtr); // con un puntatore oggetto

    Questa sintassi unificata è conforme alla normale sintassi delle chiamate di funzione e può semplificare la scrittura di codice generico.

      10133100controllo dei cookieQuali sono gli operatori puntatore a membro ->* e .* in C++?

      #Operatore #c++ #Operatore Freccia Stella #Puntatore al membro

      FAQs

      Cosa sono i puntatori in C++? ›

      Puntatori (C++)

      Un puntatore è una variabile che archivia l'indirizzo di memoria di un oggetto. I puntatori vengono usati ampiamente sia in C che in C++ per tre scopi principali: per allocare nuovi oggetti nell'heap, per passare funzioni ad altre funzioni.

      Come dichiarare un puntatore in C++? ›

      Per dichiarare tutte e tre le variabili come puntatori, occorre fare: int *a, *b, *c; ossia, si deve mettere l'asterisco * davanti a ognuna delle variabili. La regola per la dichiarazione dei puntatori è semplicemente che un asterisco davanti a una variabile dichiara la variabile (e solo quella) come un puntatore.

      Cosa sono i puntatori in informatica? ›

      Cosa è un puntatore? Un puntatore è una variabile che contiene l'indirizzo di memoria di un'altra variabile. Quando dichiariamo una variabile, a questa verrà riservato un indirizzo di memoria, ad esempio la posizione 1000 . Un puntatore contiene, appunto, l'indirizzo di tale variabile (quindi il valore 1000 ).

      Come stampare un puntatore in C++? ›

      I puntatori si possono stampare con printf e specificatore di formato “%p” (stampa in formato esadecimale). Si pu`o usare %p anche con scanf, ma ha poco senso leggere un indirizzo. Esempio: Scambio del valore di due variabili.

      Qual è la funzione dell'operatore di referenziazione? ›

      L'operatore di riferimento indiretto a puntatore unario * ottiene la variabile a cui punta il relativo operando. L'operatore è chiamato anche operatore di dereferenziazione. L'operando dell'operatore * deve essere un tipo di puntatore. Non è possibile applicare l'operatore a un'espressione * di tipo void* .

      Quanto spazio occupa un puntatore in C? ›

      In altre parole, un puntatore occupa sempre lo spazio necessario a contenere l'indirizzo del dato puntato, e non il tipo di dato; tutti i puntatori come numPtr, dunque, occupano 2 byte, indipendentemente che il tipo di dato puntato sia un int, piuttosto che un float, o un double...

      Come scrivere colorato su C++? ›

      C/C++ - scritte colorate
      1. #include <string.h>
      2. #include <conio.h>
      3. void printfcolor(char *testo, char *colore) {
      4. //controllo il colore scelto.
      5. if(strcmp(colore,"rossoscuro")==0)
      6. TEXTCOLOR(RED);
      7. if(strcmp(colore,"rossochiaro")==0)
      8. TEXTCOLOR(LIGHTRED);
      Sep 21, 2006

      Come Dereferenziare un puntatore? ›

      Per accedere al puntatore di utilizza l'operatore di dereferenziazione o in direzione *. Per accedere e modificare il contenuto di una variabile si usa il riferimento diretto con il nome della variabile o con riferimento indiretto all'indirizzo di memoria contenuto nella variabile del puntatore.

      Come ritornare un puntatore in C? ›

      Possiamo ritornare un puntatore dalle funzioni. Un esempio frequente e' quello di ritornare strutture: typedef struct {float x,y,z;} COORD; main() {COORD p1, *coord_fn();/* dichiara fn come return pointer di tipo COORD */ ...

      A cosa servono le liste in C? ›

      Definizione di lista in C

      Una lista può contenere uno o più campi contenenti informazioni, e, necessariamente, deve contenere un puntatore per mezzo del quale è legato all'elemento successivo.

      Quanto occupa un Char? ›

      In questo articolo
      Nome tipoByteIntervallo di valori
      signed char1Da -128 a 127
      unsigned char1da 0 a 255
      short2Da -32.768 a 32.767
      unsigned short2Da 0 a 65.535
      21 more rows
      Apr 2, 2023

      Quanto occupa un intero in memoria? ›

      Per esempio, un intero può occupare due, oppure quattro, oppure otto byte a seconda del tipo di calcolatore/sistema operativo/compilatore usato.

      Come stampare char in C? ›

      Come stampare una array di caratteri in C:

      Possiamo utilizzare l'istruzione printf tramite la specifica del formato %s. Questa porzione di codice permette di stampare tutta la frase in automatico finché non si troverà il carattere terminatore.

      Cosa vuol dire !=? ›

      Operatori di uguaglianza: == e !=

      Il tipo di risultato per questi operatori è bool . L'operatore uguale a ( == ) restituisce true se entrambi gli operandi hanno lo stesso valore; in caso contrario, restituisce false . L'operatore non uguale a ( != ) restituisce true se gli operandi non hanno lo stesso valore.

      Qual è la differenza tra uguale a e operatore di assegnazione? ›

      L'operatore = (un solo uguale) è differente dal simbolo == (doppio uguale), il primo è l'operatore di assegnamento (assegna il valore dell'espressione alla sua destra alla variabile alla sua sinistra e ritorna tale valore) mentre il secondo è l'operatore relazionale di uguaglianza che confronta i valori delle due ...

      Cosa significa n 2 == 0? ›

      Cosa significa n 2 == 0? Qual e'il significato di [codice] n% 2 == 0 [/ codice] in un ciclo C ++? - Quora. È un predicato vero quando il resto della divisione di n per 2 è 0, cioè è true se n è pari.

      Come si chiama il puntatore del mouse? ›

      Il puntatore o il cursore del mouse riproduce i movimenti del dispositivo di puntamento, comunemente un mouse, touchpad o trackball.

      Come cambiare le dimensioni del puntatore? ›

      In Windows 10 e Windows 11 si può cambiare la dimensione del puntatore del mouse anche aprendo le Impostazioni e poi andando a Accessibilità > Cursore e puntatore (oppure in Windows 11 Accessibilità > Puntatore e tocco del mouse) dove è possibile ingrandire la freccetta e scegliere i colori.

      Come modificare dimensioni puntatore mouse? ›

      Per impostare una dimensione personalizzata per il puntatore del mouse in Windows 10, basta recarsi in Impostazioni > Accessibilità > Cursore e puntatore > Cambia dimensione e colore puntatore > Cambia dimensione puntatore.

      Come programmare in C++ su Visual Studio? ›

      Per creare un progetto C++ in Visual Studio
      1. Dal menu principale scegliere FileNuovo>>Project per aprire la finestra di dialogo Crea un Project nuovo.
      2. Nella parte superiore della finestra di dialogo impostare Language (Linguaggio) su C++, Platform (Piattaforma) su Windows e impostare Project tipo su Console.
      Sep 28, 2022

      Come si fa a scrivere colorato? ›

      Come cambiare il colore delle scritte su Android? Sul tuo dispositivo, apri l'app Impostazioni. Correzione del colore. Attiva Usa correzione del colore.

      Dove si trova il puntatore? ›

      Premendo Windows+R quindi digitando control mouse e infine facendo clic sulla scheda Opzioni puntatore è possibile attivare la casella Mostra posizione puntatore quando si preme il tasto CTRL.

      Come aggiungere puntatore? ›

      Per riuscirci, seleziona la voce Monitor che trovi nella parte destra della sezione Accessibilità delle Preferenze di Sistema, seleziona la scheda Cursore e sposta il cursore che trovi sulla barra di regolazione Dimensioni cursore in base a quelle che sono le tue necessità.

      Come togliere il puntatore del mouse? ›

      Con il software gratuito "Auto Hide Mouse Cursor" è possibile nascondere il puntatore del mouse nei momenti in cui non stiamo lavorando con il sistema operativo. Scarichiamo questo utilissimo programma e installiamolo sul nostro PC aprendone il file.

      In che cosa consiste il passaggio di parametri per indirizzo? ›

      Il passaggio di parametri per valore è un modo molto comune per passare informazioni a una funzione ed è anche il modo normalmente utilizzato in C++. In passaggio di parametri per riferimento (o reference), alla funzione viene passato l'indirizzo e non il valore dell'argomento.

      Quando si usa scanf in C? ›

      Scanf in linguaggio C è una funzione di input, così come getc e getchar. La funzione scanf in C consente di acquisire una sequenza di caratteri (lettere o cifre) dalla tastiera e di memorizzarli all'interno di opportune variabili.

      Come si dichiara un nodo? ›

      Inserire un nodo prima di un nodo dato, però, richiede di tornare indietro lungo la lista, ad esempio inserendo in ciascun nodo un puntatore al nodo precedente: struct nodo { nodo *precedente; int n; nodo *prossimo; };

      Come si fanno le liste? ›

      La regola generale vuole che una lista abbia almeno tre voci, ma non vada troppo oltre le dieci. Naturalmente quasi sempre la frase che introduce la lista termina sempre con i due punti. Altrettanto naturalmente si va a capo ad ogni voce. Molto più spinosa è la questione del punto e virgola alla fine di ogni voce.

      A cosa serve il float? ›

      - float: bisogna usarlo quando è necessario scrivere un numero con la virgola. - double: è come float, però per numeri con più cifre e che hanno bisogno di spazio maggiore. - char: bisogna usarlo quando è necessario scrivere un carattere. - string: con questo tipo di variabile è possibile inserire più di un carattere.

      Quanto spazio occupa un float? ›

      Generalmente, i float occupano 4 byte di memoria, mentre i double ne occupano 8.

      Cosa vuol dire float in C? ›

      I tipi float e double sono i cosiddetti numeri in virgola mobile, che rappresentano l'insieme dei numeri reali: con essi possiamo rappresentare numeri molto piccoli o numeri molto grandi, positivi e negativi e naturalmente con e senza decimali.

      Qual e la memoria più capiente? ›

      L'hard disk è la memoria più grande definita anche memoria di massa, è la più lenta e contiene tutti i file dell'utente.

      Quanti byte e una stringa? ›

      NOTA: Lo spazio di memoria necessario per una variabile di tipo STRING è 1 byte per carattere + 1 byte aggiuntivo. Questo significa che la dichiarazione "STRING[80]" richiede 81 byte.

      Quanti numeri con 32 bit? ›

      L'intervallo di valori interi che è possibile memorizzare in 32 bit parte da 0 fino a 4294967295 (ovvero 32 bit possono codificare 4.294.967.296 informazioni), o da -2147483648 fino a 2147483647 usando la codifica complemento a due.

      Cosa significa %s in C? ›

      Ad esempio, %s specifica una conversione di stringhe. Per stampare un carattere di segno di percentuale, usare %% . Se un segno di percentuale è seguito da un carattere che non ha alcun significato come campo di formato, viene chiamato il gestore di parametro non valido.

      Come si scrive printf? ›

      printf è una funzione implementata nei linguaggi di programmazione per visualizzare sullo standard output una stringa costruita in base ad un formato specificato. Tale funzione ha origine dal linguaggio C, dove ha un prototipo simile al seguente: int printf(const char *format, ...)

      A cosa serve printf? ›

      La funzione printf() La funzione fa parte della Libreria Standard del C e consente all'utente di inviare sul monitor del pc dei numeri / caratteri. Nel caso in cui tale stringa sia composta da solo testo, ovvero solo da caratteri normali, la funzione stampa tutti i caratteri formanti la stringa di formato stessa.

      Cosa sono i puntatori in Java? ›

      In Java non esistono puntatori con le stesse caratteristiche di quelli del C/C++. I puntatori in Java sono solo dei riferimenti ad oggetti allocati dinamicamente su uno heap e distrutti attraverso un meccanismo automatico di garbage collection.

      Cos'è un puntatore in Java? ›

      I puntatori sono delle variabili speciali i quali valori contengono l'indirizzo di memoria di un determinato oggetto, anziché il valore vero e proprio. Ad esempio, supponendo che Persona sia una Struct (una struttura dati), struct Persona { char nome[50];

      Come avere due puntatori mouse? ›

      Lo strumento che ha il nome “TeamPlayer 2” può programmare su porte USB di un laptop con Windows, in modo che possa riconoscere diversi mouse e tastiere collegati. Ciò significa che avremo la possibilità di vedere più puntatori del mouse contemporaneamente, in base al numero di essi che abbiamo collegato alle porte.

      Come Printare in Java? ›

      In particolare, i metodi più frequentemente utilizzati sono:
      1. println : stampa una stringa e ritorna a capo sul terminale (equivale ad usare print(stringa + "\n") ).
      2. print : stampa una stringa, senza tornare a capo.

      Come si fa l'input in Java? ›

      Per effettuare la lettura di una stringa dobbiamo dichiarare una variabile di tipo stringa e poi usare il metodo readLine() con l'oggetto tastiera definito in precedenza. Esempio: String nome; nome = tastiera. readLine();

      Come si chiamano le variabili in Java? ›

      I nomi delle variabili
      abstractcontinuefor
      catchextendsint
      charfinalinterface
      classfinallylong
      constfloatnative
      5 more rows
      Sep 8, 2014

      Come si chiama il puntatore? ›

      Nelle interfacce grafiche (GUI) è chiamato cursore o più propriamente puntatore un simbolo grafico (solitamente una freccia) che indica la posizione esatta su cui agisce l'eventuale pressione di un tasto del mouse, il cosiddetto click e relativo doppio click.

      Come si chiama il puntatore del PC? ›

      Il TrackPoint è un piccolo dispositivo di controllo del cursore situato al centro della tastiera.

      Come attivare il puntatore senza mouse? ›

      Per abilitarlo, non devi far altro che premere la combinazione di tasti Alt+Shift+Bloc Num e usare il tastierino numerico della tastiera del tuo PC per comandare il cursore del mouse nelle varie direzioni.

      A cosa serve il tasto destro e sinistro del mouse? ›

      Un clic con il tasto sinistro (nei mouse a due pulsanti) serve tipicamente a selezionare un oggetto come un'icona o un comando da un menu, mentre un clic con il tasto destro richiama solitamente un menu contestuale.

      Dove scaricare puntatori mouse? ›

      Il primo sito che ti suggerisco di visitare è deviantART, community di artisti molto famosa sul Web dove è possibile trovare una gran quantità di vere e proprie opere d'arte digitali (tra cui figurano anche i puntatori del mouse), sia gratuite sia a pagamento.

      References

      Top Articles
      Latest Posts
      Article information

      Author: Duane Harber

      Last Updated: 11/14/2023

      Views: 5567

      Rating: 4 / 5 (51 voted)

      Reviews: 90% of readers found this page helpful

      Author information

      Name: Duane Harber

      Birthday: 1999-10-17

      Address: Apt. 404 9899 Magnolia Roads, Port Royceville, ID 78186

      Phone: +186911129794335

      Job: Human Hospitality Planner

      Hobby: Listening to music, Orienteering, Knapping, Dance, Mountain biking, Fishing, Pottery

      Introduction: My name is Duane Harber, I am a modern, clever, handsome, fair, agreeable, inexpensive, beautiful person who loves writing and wants to share my knowledge and understanding with you.