Domande taggate «pointers»

Tipo di dati che "punta a" un altro valore archiviato in memoria. Una variabile puntatore contiene un indirizzo di memoria di qualche altra entità (variabile o funzione o altra entità). Questo tag dovrebbe essere usato per domande che implicano l'uso di puntatori, non di riferimenti. I linguaggi di programmazione più comuni che utilizzano i puntatori sono i linguaggi C, C ++, Go e assembly. Utilizzare un tag di lingua specifico. Altri tag utili sono metodo, funzione, struttura, ecc. Che descrivono l'uso del puntatore.

2
Come si esegue un letterale * int64 in Go?
Ho un tipo di struttura con un *int64campo. type SomeType struct { SomeField *int64 } Ad un certo punto nel mio codice, voglio dichiarare un letterale di questo (ad esempio, quando so che il valore dovrebbe essere 0, o che punta a 0, sai cosa intendo) instance := SomeType{ SomeField: …
103 pointers  go  struct  literals 

4
Qual è il punto di avere puntatori in Go?
So che i puntatori in Go consentono la mutazione degli argomenti di una funzione, ma non sarebbe stato più semplice se adottassero solo riferimenti (con qualificatori cost o mutabili appropriati). Ora abbiamo i puntatori e per alcuni tipi incorporati come mappe e canali passano implicitamente per riferimento. Mi manca qualcosa …
100 pointers  go 




5
Come incrementare l'indirizzo di un puntatore e il valore del puntatore?
Supponiamo, int *p; int a = 100; p = &a; Cosa farà effettivamente il codice seguente e come? p++; ++p; ++*p; ++(*p); ++*(p); *p++; (*p)++; *(p)++; *++p; *(++p); Lo so, questo è un po 'complicato in termini di codifica, ma voglio sapere cosa accadrà effettivamente quando codificheremo in questo modo. …
96 c  pointers 

4
Come dichiarare std :: unique_ptr e a cosa serve?
Cerco di capire come std::unique_ptrfunziona e per questo ho trovato questo documento. L'autore parte dal seguente esempio: #include <utility> //declarations of unique_ptr using std::unique_ptr; // default construction unique_ptr<int> up; //creates an empty object // initialize with an argument unique_ptr<int> uptr (new int(3)); double *pd= new double; unique_ptr<double> uptr2 (pd); // …
95 c++  pointers  std  unique-ptr 

1
Cos'è un "fat pointer"?
Ho già letto il termine "fat pointer" in diversi contesti, ma non sono sicuro di cosa significhi esattamente e quando sia usato in Rust. Il puntatore sembra essere due volte più grande di un normale puntatore, ma non capisco perché. Sembra anche avere qualcosa a che fare con gli oggetti …
95 pointers  rust 

17
Qual è lo scopo dei puntatori a funzione?
Ho problemi a vedere l'utilità dei puntatori a funzione. Immagino che possa essere utile in alcuni casi (esistono, dopotutto), ma non riesco a pensare a un caso in cui sia meglio o inevitabile usare un puntatore a funzione. Potresti fornire qualche esempio di buon uso dei puntatori a funzione (in …
94 c++  c  function  pointers  c++-faq 

6
Funzioni di archivio C # in un dizionario
Come creo un dizionario in cui posso memorizzare le funzioni? Grazie. Ho circa 30+ funzioni che possono essere eseguite dall'utente. Voglio essere in grado di eseguire la funzione in questo modo: private void functionName(arg1, arg2, arg3) { // code } dictionaryName.add("doSomething", functionName); private void interceptCommand(string command) { foreach ( var …



3
L'intervallo fa riferimento invece ai valori
Ho visto che l'intervallo restituisce la chiave e la "copia" del valore. C'è un modo per quell'intervallo di restituire l'indirizzo dell'articolo? Esempio package main import "fmt" type MyType struct { field string } func main() { var array [10]MyType for _, e := range array { e.field = "foo" } …
91 pointers  reference  go 

8
È possibile inizializzare un puntatore C a NULL?
Ho scritto cose come char *x=NULL; supponendo che char *x=2; creerebbe un charpuntatore all'indirizzo 2. Ma, in The GNU C Programming Tutorial si dice che int *my_int_ptr = 2;memorizza il valore intero 2in qualsiasi indirizzo casuale si trovi my_int_ptrquando viene allocato. Ciò sembrerebbe implicare che il mio char *x=NULLassegni qualunque …

29
Testare i puntatori per la validità (C / C ++)
C'è un modo per determinare (programmaticamente, ovviamente) se un dato puntatore è "valido"? Verificare la presenza di NULL è facile, ma per quanto riguarda cose come 0x00001234? Quando si tenta di dereferenziare questo tipo di puntatore, si verifica un'eccezione / arresto anomalo. È preferibile un metodo multipiattaforma, ma va bene …
90 c++  c  validation  pointers  null 

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.