Heim >Backend-Entwicklung >C#.Net-Tutorial >Zusammenfassung der wichtigsten Punkte der C++-Überprüfung (1)

Zusammenfassung der wichtigsten Punkte der C++-Überprüfung (1)

黄舟
黄舟Original
2017-01-16 11:16:111173Durchsuche

C++ verbessert die C-Sprache – Typerweiterung

1. Register-Schlüsselworterweiterung

Register-Schlüsselwort fordert den Compiler auf, Variablen direkt in Registern zu platzieren, was schnell ist.

In der C-Sprache können durch Register geänderte Variablen keine Adressen annehmen; in C++ können sie Adressen annehmen.

2. Verbesserung der Variablenerkennung

In der Sprache C ist es zulässig, mehrere globale Variablen mit demselben Namen zu definieren. In C++ ist es nicht zulässig, mehrere globale Variablen mit demselben Namen zu definieren Name.

3. Alle Variablen und Funktionen in C++ müssen Typen haben

Int f( ); bedeutet, dass der Rückgabewert int ist und alle Parameter akzeptiert Funktion

int f(void); stellt eine parameterlose Funktion dar

, deren Rückgabewert int ist. In C++ hat

int f( ); Die Bedeutung von all bedeutet eine Parameterlose Funktion, die eine int

4 Erweiterte ternäre Operatorfunktion

zurückgibt. Beispiel: a< a : b )= 30;

Differenz : Die C-Sprache gibt den Wert der Variablen zurück; die C++-Sprache gibt die Variable selbst zurück

Der ternäre Operator in der C-Sprache gibt den Variablenwert zurück und kann nicht als L-Wert verwendet werden

In C++ Der ternäre Operator kann die Variable selbst direkt zurückgeben, sodass sie überall im Programm erscheinen kann

Hinweis: Wenn einer der Werte, die der ternäre Operator möglicherweise zurückgibt, ein konstanter Wert ist, kann er nicht als L-Wert verwendet werden ( a < b ? 1 :b )= 30;

Wie unterstützt die Sprache C ähnliche Funktionen wie C++?

====>Die Bedingung für lvalue: Es muss Speicherplatz vorhanden sein; der C++-Compiler hilft dem Programmierer lediglich, eine Adresse zu erhalten

1.const-Qualifizierererkennung

Funktion : Konvertieren Sie ein Objekt in eine schreibgeschützte Konstante.



Beispiel:
int main()
{
const int a;// 1 第1个第2个意思一样 代表一个常整形数
int const b;// 2
const int *c; // 3 第3个 c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)
int * const d; //4 第4个 d 常指针(指针变量不能被修改,但是它所指向内存空间可以被修改)
const int * const e ; //5 第5个 e一个指向常整形的常指针(指针和它所指向的内存空间,均不能被修改)
return 0;
}

2. Wie der C++-Compiler mit Konstanten umgeht: Wenn eine Konstante deklariert wird, wird die Konstante in die Symboltabelle eingefügt ;Wenn Sie Konstanten verwenden, ersetzen Sie diese immer direkt durch die Werte in der Symboltabelle.
const int bufSize=512;bufSize初始化之后就无法进行修改了。
1)在C++中,const符号表原理:存储方式是符号表即key value
key value
bufSize 512

Schlussfolgerung: Der Unterschied zwischen const-Variablen in C-Sprache und C++

Const-Variablen in C-Sprache sind schreibgeschützte Variablen und haben ihren eigenen Speicherplatz

Const-Konstanten in C++

kann Speicherplatz zuweisen oder nicht

Wenn die Konstante const global ist und in anderen Dateien verwendet werden muss

Wenn der &-Operator verwendet wird, um die Konstante const zu erhalten Adresse

2) Die Ähnlichkeiten und Unterschiede zwischen const und #define

sind gleich: beide können als Konstanten verwendet werden

Unterschied: const-Konstanten werden vom Compiler verarbeitet, Bietet Typerkennung und Bereichsprüfung, Makrodefinitionen werden vom Präprozessor verarbeitet, einfache Textersetzung.


Das Obige ist die Zusammenfassung der C++-Überprüfungspunkte (1). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn