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.

12
Puntatore vs. riferimento
Quale sarebbe la migliore pratica nel dare a una funzione la variabile originale con cui lavorare: unsigned long x = 4; void func1(unsigned long& val) { val = 5; } func1(x); o: void func2(unsigned long* val) { *val = 5; } func2(&x); IOW: C'è qualche motivo per sceglierne uno sopra …



7
size_t vs. uintptr_t
Lo standard C garantisce che size_tè un tipo che può contenere qualsiasi indice di array. Ciò significa che, logicamente, size_tdovrebbe essere in grado di contenere qualsiasi tipo di puntatore. Ho letto su alcuni siti che ho trovato su Google che questo è legale e / o dovrebbe sempre funzionare: void …
246 c  pointers  size-t 

14
Puntatore al membro di dati della classe ":: *"
Mi sono imbattuto in questo strano frammento di codice che compila bene: class Car { public: int speed; }; int main() { int Car::*pSpeed = &Car::speed; return 0; } Perché C ++ ha questo puntatore a un membro di dati non statico di una classe? A che serve questo strano …
243 c++  class  pointers  c++-faq 

4
Che tipo di puntatore devo usare quando?
Ok, quindi l'ultima volta che ho scritto C ++ per vivere, std::auto_ptrc'era tutta la lib standard disponibile ed boost::shared_ptrera di gran moda. Non ho mai veramente esaminato gli altri tipi di puntatori intelligenti forniti. Comprendo che C ++ 11 ora fornisce alcuni dei tipi di boost creati, ma non tutti. …


7
Ci sono vantaggi del passaggio per puntatore rispetto al passaggio per riferimento in C ++?
Quali sono i vantaggi del passaggio per puntatore rispetto al passaggio per riferimento in C ++? Ultimamente, ho visto numerosi esempi che hanno scelto di passare argomenti di funzione tramite puntatori anziché passare per riferimento. Ci sono benefici nel fare questo? Esempio: func(SPRITE *x); con una chiamata di func(&mySprite); vs. …




17
Passando per riferimento in C
Se C non supporta il passaggio di una variabile per riferimento, perché funziona? #include <stdio.h> void f(int *j) { (*j)++; } int main() { int i = 20; int *p = &i; f(p); printf("i = %d\n", i); return 0; } Produzione: $ gcc -std=c99 test.c $ a.exe i = 21




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.