Fragen von einem "Dummy" - Seite 19

 
Bitte erklären Sie die Bedeutung der Zeile ((m_patterns_usage&(((int)1)<<p))!=0) ?
 
_____Life_Line:
Bitte erklären Sie die Bedeutung der Zeichenfolge ((m_patterns_usage&(((int)1)<< p))!=0) ?

Der Sinn der Zeile besteht darin, das p-te Bit der Variablen m_patterns_usage auf Gleichheit mit 1 zu prüfen (genauer gesagt, auf Ungleichheit mit Null).

Lesen Sie mehr:

((int)1 ) : bedeutet, die Einheit in den Typ int zu konvertieren, um zu verhindern, dass der Compiler sie automatisch in den minimalen Ganzzahlentyp (char) konvertiert.

((int)1)<< p : bedeutet eine Bitverschiebung einer Einheit vom Typ int um p Bits nach links.

(m_patterns_usage & (((int)1)<<p) : bitweise Operation Und. Sie ergibt eine 0, wenn mindestens eines der Ergebnisbits ungleich eins ist.

Die Ergebnisse der bitweisen "&"- und "|" -Operationen können Sie selbst in Fachbüchern nachlesen. Sie können nicht darauf verzichten, wenn Sie weiter programmieren wollen.

 
Wozu müssen Sie Variablen deinitialisieren?
 
Silent:
Warum sollten Sie Variablen deinitialisieren müssen?

Wenn Sie mir erklären, WIE es gemacht wird, werde ich mir eine sinnvolle Verwendung überlegen, wenn ich die geringste Chance dazu habe. ;)

Es ist nicht notwendig, Variablen zu deinitialisieren, aber es ist sehr wünschenswert, Speicher freizugeben, der von Zeigern referenziert wird (dynamisch erstellte Objekte). Immer.

 
MetaDriver:

Wenn Sie mir erklären können, WIE das gemacht wird, werde ich mir sicher eine sinnvolle Verwendung einfallen lassen, wenn die geringste Chance besteht. ;)

Es ist nicht notwendig, Variablen zu deinitialisieren, aber es ist sehr wünschenswert, Speicher freizugeben, der von Zeigern referenziert wird (dynamisch erstellte Objekte). Immer.

string s2=NULL;               // деинициализация строки

Von hier aus

Aber ich würde gerne wissen, warum. Für den Fall der Fälle.

Und die Objekte müssen nicht zwangsweise deinitialisiert werden, das Terminal macht das selbst, bevor es sie löscht?

 
Silent:

von hier

Das liegt an der Konvertierung der Zeichenfolge. Vielleicht meinen Sie, dass Sie einfach einen leeren Wert zuweisen?
 
Silent:
Dies ist in der String-Konvertierung. Vielleicht meinen Sie, dass Sie einfach einen leeren Wert zuweisen?
Das denke ich auch.
 
Hallo, wie kann ich den Cursor-Modus im Editor ändern? Ich bin immer fett gedruckt und die Zeichen werden gelöscht, wenn ich die Leertaste drücke.
 
Diubakin:
Hallo, wie kann ich den Cursor-Modus im Editor ändern? Ich bin immer fett gedruckt und die Zeichen werden gelöscht, wenn ich die Leertaste drücke.
Drücken Sie die Taste Einfügen.
 
Dankeschön