c

C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entworfen und behält eine ähnliche Syntax, ist aber jetzt eine komplett andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll.
4
Antworten

___ answer1666599 ___

Sind Sie sicher, dass das C ist?

Das Standarddokument, mit dem Sie verbunden sind, beschreibt keine solche Syntax, die ich sehen könnte.

Das sieht nach C ++ aus, wo es tatsächlich verwendet wird, um zu sagen, dass die Struktur eine andere Struktur erbt. Die TeXmacs-Kompilierungsseite empfiehlt Ihnen, einen C ++ - Compiler zu verwenden, was (für mich) bedeutet, dass dies der Fall ist geschrieben in C ++, nicht C.

Ich habe einen kurzen Blick in das TeXmacs Quellarchiv geworfen und viele ".cpp" Dateien gesehen.

    
___ answer1666630 ___

GCC mag es nicht (natürlich im C-Modus).

Und wenn ich mir die Spezifikation anschaue, sehe ich nicht das, was auf Seite 113 (6.7.2.1) definiert ist, es heißt:

%Vor%

Dies ist die Syntax für Bitfelder wie folgt:

%Vor%

Also zusammenfassend: Das ist nicht C, es ist C ++ und es ist Vererbung wie Klassenvererbung.

    
___ answer1666632 ___

Der %code% im Text des Standards ist nicht Bestandteil der C-Konstruktion. Es ist da, um das zu definierende Ding und seine Definition zu trennen.

Es gibt keine gültige Verwendung von %code% in einer Strukturdeklaration.

    
___ tag123c ___ C ist eine universelle Computerprogrammiersprache, die für Betriebssysteme, Bibliotheken, Spiele und andere Hochleistungsanwendungen verwendet wird. Dieses Tag sollte bei allgemeinen Fragen zur C-Sprache verwendet werden, wie in der Norm ISO 9899: 2011 definiert. Fügen Sie ggf. ein versionsspezifisches Tag wie c99 oder c90 für Fragen zu älteren Sprachstandards hinzu. C unterscheidet sich von C ++ und es sollte nicht mit dem C ++ - Tag kombiniert werden, wenn ein rationaler Grund fehlt. ___ tag123c ___ C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entworfen und behält eine ähnliche Syntax, ist aber jetzt eine komplett andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. ___ qstntxt ___

Als ich den Code von TeXmacs gelesen habe, habe ich Folgendes gesehen:

%Vor%

Was heißt das?

Diese Syntax ist im C-Standard , S. 113 definiert. aber ich habe die Bedeutung nicht gefunden, aber das ist, weil ich nicht weiß, wie man Grammatikregeln liest.

Weil %code% ein anderes %code% ist, das Funktionen wie einen Konstruktor und einen virtuellen Destruktor enthält, und weil ich an anderer Stelle gelesen habe, dass Klassen in C ++ eigentlich %code% mit öffentlichen Membern sind, nehme ich an, dass dies der Fall ist die Art der Vererbung mit %code% in C (weil es der C-Standard ist ...).

Stimmt das?

    
___ answer1666617 ___

Es ist C ++ - Syntax und entspricht dem:

%Vor%

Dies ist die normale Syntax für die Vererbung von Klassen, hier wird %code% von %code% geerbt.

Über diese Syntax in C:

Der C-Standard, mit dem Sie verbunden sind, definiert (6.7.2.1):

%Vor%

Nach C muss es also %code% sein, gefolgt von einem optionalen Identifier, gefolgt von %code% . Oder nur %code% gefolgt von einem Identifier (eine Forward-Deklaration). In beiden Fällen ist dort noch Platz für ein zusätzliches %code% .

Das %code% , das später in diesem Absatz des Standards erwähnt wird, handelt von Bit-Feld-Breiten wie diesem;

%Vor%

Hier sind %code% und %code% nur 4 und 3 Bits breit, aber das ist eine andere Syntax als in der Frage.

    
___

Als ich den Code von TeXmacs gelesen habe, habe ich Folgendes gesehen: %Vor% Was heißt das? Diese Syntax ist im C-Standard , S. 113 definiert. aber ich habe die Bedeutung nicht gefunden, aber das ist, weil ich nicht weiß, wie man Grammat...
03.11.2009, 10:46
3
Antworten

Schleife läuft mehr als in C angegeben? Warum? [geschlossen]

Wenn ich die Zahl 5 eintrage, muss diese Schleife 5 mal laufen, aber sie läuft 6 mal. Was ist das Problem? %Vor%     
03.03.2016, 08:58
6
Antworten

Verketten Sie zwei char * -Zeichenfolgen in einem C-Programm

Ich habe das folgende C-Programm geschrieben: %Vor% Ich möchte die beiden Strings verketten, aber es funktioniert nicht.     
27.08.2013, 14:26
5
Antworten

Merkwürdiges Verhalten der pow-Funktion

Beim Ausführen der folgenden Codezeilen: %Vor% Ich war überrascht, die Ausgabe zu sehen, es kommt heraus, dass es 1 10 99 1000 9999 statt 1 10 100 1000 10000 ist. Was könnte der mögliche Grund sein? Hinwe...
09.08.2013, 21:25
6
Antworten

So generieren Sie große Zufallszahlen C

Ich suche nach einer Möglichkeit, große Zufallszahlen in der Größenordnung von 2 ^ 64 in C ... (100000000 - 999999999) zu generieren, um sie in einem Verschlüsselungsalgorithmus mit öffentlichem Schlüssel (wie p und q) zu verwenden. Ich möcht...
27.10.2011, 18:53
4
Antworten

für jedes int x: x + 1 x ... ist das immer wahr?

Ich fange gerade an, C in der Schule zu lernen, ich versuche, die grundlegenden Konzepte zu verstehen. Unsere Hausaufgaben haben eine Frage, für jedes int x: x+1 > x Bestimmen Sie, ob Richtig oder Falsch, geben Sie eine Richtigste...
05.07.2013, 20:49
7
Antworten

Was ist der richtige Weg, um einen Zeiger zu versetzen?

Ich möchte einen Zeiger auf eine Funktion übergeben. Ich möchte, dass dieser Zeiger auf eine Stelle in der Mitte eines Arrays zeigt. Angenommen, ich habe ein Array wie zB unsigned char BufferData[5000]; , wäre die folgende Aussage syntaktisch...
06.10.2010, 13:05
5
Antworten

Wie liest man die Standardeingabe in eine String-Variable bis EOF in C?

Ich erhalte "Bus Error" und versuche, stdin in eine Variable char* zu lesen. Ich möchte nur ganze Sachen lesen, die über stdin kommen, und sie zuerst in eine Variable schreiben und dann weiter an der Variablen arbeiten. Mein Code ist...
23.03.2010, 00:13
4
Antworten

Wie begrenzt C die Verwendung einer statischen Funktion auf ihre Datei?

Ich verstehe, dass eine statische Funktion in C erlaubt, dass diese bestimmte Funktion nur innerhalb der Grenzen dieser Datei aufgerufen wird. Was mich interessiert, ist, wie dies geschieht. Wird es in einen bestimmten Teil des Speichers eingefü...
23.07.2012, 14:05
5
Antworten

Leistung von pthread_mutex_lock / unlock

Ich habe bemerkt, dass ich einen ziemlich großen Leistungseinbruch erleiden muss, wenn ich einen Algorithmus habe, der einen Thread ALOT sperrt und freigibt. Gibt es eine Möglichkeit, diesen Overhead zu unterstützen? Wäre die Verwendung eines...
23.06.2011, 20:59