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.

7
C ++ übergibt ein Array als Referenz
Darf ein Array als Referenz übergeben werden? void foo(double& *bar) Scheint, dass mein Compiler nein sagt. Warum? Was ist der richtige Weg, um ein Array als Referenz zu übergeben? Oder eine Abhilfe? Ich habe ein Array-Argument, das meine Methode ändern und anschließend abrufen sollte. Alternativ könnte ich dieses Array zu …

3
Warum ist ein Point-to-Volatile-Zeiger wie „volatile int * p“ nützlich?
volatilesoll den Compiler anweisen, die Referenz nicht zu optimieren, damit bei jedem Lesen / Schreiben nicht der im Register gespeicherte Wert verwendet wird, sondern ein echter Speicherzugriff erfolgt. Ich kann verstehen, dass es für eine gewöhnliche Variable nützlich ist, verstehe aber nicht, wie volatilesich ein Zeiger auswirkt. volatile int *p …
77 c  pointers  volatile 

15
Wann ist eine ganzzahlige <-> Zeigerumwandlung tatsächlich korrekt?
Die allgemeine Folklore sagt: Das Typsystem existiert aus einem Grund. Ganzzahlen und Zeiger sind unterschiedliche Typen. Das Umsetzen zwischen ihnen ist in den meisten Fällen ein Fehlverhalten, kann auf einen Entwurfsfehler hinweisen und sollte vermieden werden. Selbst wenn eine solche Besetzung durchgeführt wird, werden keine Annahmen über die Größe von …
77 c++  c  pointers  casting 


23
Warum nicht Zeiger für alles in C ++ verwenden?
Angenommen, ich definiere eine Klasse: class Pixel { public: Pixel(){ x=0; y=0;}; int x; int y; } Dann schreiben Sie einen Code damit. Warum sollte ich Folgendes tun? Pixel p; p.x = 2; p.y = 5; Aus einer Java-Welt kommend schreibe ich immer: Pixel* p = new Pixel(); p-&gt;x = …
75 c++  pointers  stack  heap 


5
Wann werden Zeiger in C # /. NET verwendet?
Ich weiß, dass C # dem Programmierer die Möglichkeit gibt, auf Zeiger in einem unsicheren Kontext zuzugreifen und diese zu verwenden. Aber wann wird das gebraucht? Unter welchen Umständen ist die Verwendung von Zeigern unvermeidlich? Ist es nur aus Leistungsgründen? Warum stellt C # diese Funktionalität in einem unsicheren Kontext …


12
Zeiger auf Zeiger vs. normale Zeiger
Der Zweck eines Zeigers besteht darin, die Adresse einer bestimmten Variablen zu speichern. Dann sollte die Speicherstruktur des folgenden Codes folgendermaßen aussehen: int a = 5; int *b = &amp;a; ...... Speicheradresse ...... Wert a ... 0x000002 ................... 5 b ... 0x000010 ..... .............. 0x000002 Okay gut. Dann nehme ich …
74 c  pointers 

18
Überprüfen, ob einem Zeiger Speicher zugewiesen ist oder nicht
Können wir überprüfen, ob ein an eine Funktion übergebener Zeiger in C mit Speicher belegt ist oder nicht? Ich habe meine eigene Funktion in C geschrieben, die einen Zeichenzeiger - buf [Zeiger auf einen Puffer] und size - buf_siz [Puffergröße] akzeptiert . Tatsächlich muss der Benutzer vor dem Aufrufen dieser …
74 c  pointers 

16
Objekte in Java duplizieren
Ich habe gelernt, dass beim Ändern einer Variablen in Java die Variable, auf der sie basiert, nicht geändert wird int a = new Integer(5); int b = a; b = b + b; System.out.println(a); // 5 as expected System.out.println(b); // 10 as expected Ähnliches habe ich für Objekte angenommen. Betrachten …



3
Wie benutze ich einen Iterator?
Ich versuche den Abstand zwischen zwei Punkten zu berechnen. Die zwei Punkte, die ich in einem Vektor in C ++ gespeichert habe: (0,0) und (1,1). Ich soll Ergebnisse erzielen als 0 1.4 1.4 0 Aber das tatsächliche Ergebnis, das ich bekam, ist 0 1 -1 0 Ich denke, es stimmt …


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.