Als «pointers» getaggte Fragen

Datentyp, der auf einen anderen im Speicher gespeicherten Wert "zeigt". Eine Zeigervariable enthält eine Speicheradresse einer anderen Entität (Variable oder Funktion oder andere Entität). Dieses Tag sollte für Fragen verwendet werden, bei denen Zeiger und keine Referenzen verwendet werden. Die am häufigsten verwendeten Programmiersprachen mit Zeigern sind C, C ++, Go und Assemblersprachen. Verwenden Sie ein bestimmtes Sprach-Tag. Andere hilfreiche Tags sind Methode, Funktion, Struktur usw., die die Verwendung von Zeigern beschreiben.

2
Wie mache ich ein Literal * int64 in Go?
Ich habe einen Strukturtyp mit einem *int64Feld. type SomeType struct { SomeField *int64 } Irgendwann in meinem Code möchte ich ein Literal davon deklarieren (sagen wir, wenn ich weiß, dass der Wert 0 sein sollte, oder wenn ich auf eine 0 zeige, wissen Sie, was ich meine) instance := SomeType{ …
100 pointers  go  struct  literals 

3
Kann ein Zeiger auf die Basis auf ein Array abgeleiteter Objekte zeigen?
Ich ging heute zu einem Vorstellungsgespräch und bekam diese interessante Frage. Warum stürzt dieser Code ab, abgesehen von dem Speicherverlust und der Tatsache, dass es keinen virtuellen dtor gibt? #include <iostream> //besides the obvious mem leak, why does this code crash? class Shape { public: virtual void draw() const = …
99 c++  pointers 


4
Was bringt es, Zeiger in Go zu haben?
Ich weiß, dass Zeiger in Go die Mutation der Argumente einer Funktion ermöglichen, aber wäre es nicht einfacher gewesen, wenn sie nur Referenzen (mit geeigneten const- oder veränderlichen Qualifikationsmerkmalen) übernommen hätten. Jetzt haben wir Zeiger und für einige eingebaute Typen wie Karten und Kanäle wird implizit als Referenz übergeben. Vermisse …
98 pointers  go 


17
Was ist der Punkt von Funktionszeigern?
Ich habe Probleme, die Nützlichkeit von Funktionszeigern zu erkennen. Ich denke, es kann in einigen Fällen nützlich sein (sie existieren schließlich), aber ich kann mir keinen Fall vorstellen, in dem es besser oder unvermeidlich ist, einen Funktionszeiger zu verwenden. Können Sie ein Beispiel für die gute Verwendung von Funktionszeigern (in …
94 c++  c  function  pointers  c++-faq 

6
C # Funktionen in einem Wörterbuch speichern
Wie erstelle ich ein Wörterbuch, in dem ich Funktionen speichern kann? Vielen Dank. Ich habe über 30 Funktionen, die vom Benutzer ausgeführt werden können. Ich möchte die Funktion folgendermaßen ausführen können: private void functionName(arg1, arg2, arg3) { // code } dictionaryName.add("doSomething", functionName); private void interceptCommand(string command) { foreach ( var …

6
Löschen eines Zeigers in C ++
Kontext: Ich versuche, meinen Kopf um Zeiger zu wickeln. Wir haben sie erst vor ein paar Wochen in der Schule gesehen und als ich heute übte, bin ich auf einen Dummkopf gestoßen. Problem, es kann für Sie sehr einfach sein, aber ich habe wenig bis gar keine Programmiererfahrung. Ich habe …

4
Wie deklariere ich std :: unique_ptr und wozu dient es?
Ich versuche zu verstehen, wie es std::unique_ptrfunktioniert und dafür habe ich dieses Dokument gefunden. Der Autor geht von folgendem Beispiel aus: #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; …
91 c++  pointers  std  unique-ptr 

1
Was ist ein „fetter Zeiger“ in Rust?
Ich habe den Begriff "Fettzeiger" bereits in mehreren Zusammenhängen gelesen, bin mir aber nicht sicher, was er genau bedeutet und wann er in Rust verwendet wird. Der Zeiger scheint doppelt so groß zu sein wie ein normaler Zeiger, aber ich verstehe nicht warum. Es scheint auch etwas mit Merkmalsobjekten zu …
91 pointers  rust 

12
Platzierung des Sternchens in Zeigerdeklarationen
Ich habe kürzlich beschlossen, dass ich nur endlich C / C ++ lernen muss, und es gibt eine Sache, die ich über Zeiger oder genauer ihre Definition nicht wirklich verstehe. Wie wäre es mit diesen Beispielen: int* test; int *test; int * test; int* test,test2; int *test,test2; int * test,test2; …
90 c++  c  pointers  declaration 

8
Ist es möglich, einen C-Zeiger auf NULL zu initialisieren?
Ich hatte Dinge wie geschrieben char *x=NULL; unter der Annahme, dass char *x=2; würde einen charZeiger auf Adresse 2 erstellen . Im Programmier-Tutorial für GNU C heißt es jedoch, dass int *my_int_ptr = 2;der ganzzahlige Wert 2bei der my_int_ptrZuweisung an eine beliebige zufällige Adresse gespeichert wird. Dies scheint zu implizieren, …


29
Testen von Zeigern auf Gültigkeit (C / C ++)
Gibt es eine Möglichkeit (natürlich programmatisch) festzustellen, ob ein bestimmter Zeiger "gültig" ist? Das Überprüfen auf NULL ist einfach, aber was ist mit Dingen wie 0x00001234? Beim Versuch, diese Art von Zeiger zu dereferenzieren, tritt eine Ausnahme / ein Absturz auf. Eine plattformübergreifende Methode wird bevorzugt, aber auch plattformspezifisch (für …
90 c++  c  validation  pointers  null 

3
Bereichsreferenzen statt Werte
Ich habe gesehen, dass der Bereich den Schlüssel und die "Kopie" des Werts zurückgibt. Gibt es eine Möglichkeit für diesen Bereich, die Adresse des Artikels zurückzugeben? Beispiel package main import "fmt" type MyType struct { field string } func main() { var array [10]MyType for _, e := range array …
90 pointers  reference  go 

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.