<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Digraph_%28Informatik%29</id>
	<title>Digraph (Informatik) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Digraph_%28Informatik%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Digraph_(Informatik)&amp;action=history"/>
	<updated>2026-05-22T23:53:45Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Digraph_(Informatik)&amp;diff=286988&amp;oldid=prev</id>
		<title>imported&gt;DynaMoToR: /* Einzelnachweise */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Digraph_(Informatik)&amp;diff=286988&amp;oldid=prev"/>
		<updated>2024-04-15T04:32:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einzelnachweise&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Als &amp;#039;&amp;#039;&amp;#039;Digraph&amp;#039;&amp;#039;&amp;#039; bezeichnet man in der Informatik eine Kombination aus zwei Zeichen, welche als Ersatz für ein einzelnes Zeichen stehen, welches nicht im verwendeten [[Zeichensatz]] zur Verfügung steht. Verschiedene Programmiersprachen machen hiervon Gebrauch.&lt;br /&gt;
&lt;br /&gt;
== Digraphen in [[Pascal (Programmiersprache)|Pascal]] ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left:2em&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe6&amp;quot;&lt;br /&gt;
! Digraph !! ersetztes Zeichen !! Verwendung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;(*&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt; || Beginn eines Kommentars&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;*)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt; || Ende eines Kommentars&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;(.&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; || Öffnende Klammer für Feldindex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;.)&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt; || Schließende Klammer für Feldindex&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Bei vielen Compilern wird &amp;lt;code&amp;gt;(*&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;*)&amp;lt;/code&amp;gt; jedoch nicht als Digraph interpretiert, sondern sie kennzeichnen einen eigenen Kommentarblock-Stil. Ein Kommentar, der durch &amp;lt;code&amp;gt;(*&amp;lt;/code&amp;gt; begonnen wird, kann somit nicht mit &amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt; beendet werden und umgekehrt.&lt;br /&gt;
&lt;br /&gt;
== Digraphen in [[Varianten der Programmiersprache C#C95|C]] und [[C++]] ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- class=&amp;quot;hintergrundfarbe6&amp;quot;&lt;br /&gt;
! Digraph !! ersetztes Zeichen !! Verwendung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;amp;lt;:&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; || Öffnende Klammer für Feldindex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;:&amp;amp;gt;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt; || Schließende Klammer für Feldindex&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;amp;lt;%&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;{&amp;lt;/code&amp;gt; || Öffnende Blockklammer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;%&amp;amp;gt;&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;}&amp;lt;/code&amp;gt; || Schließende Blockklammer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;%:&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; || Kennzeichen für Präprozessoranweisungen&lt;br /&gt;
|}&amp;lt;ref name=&amp;quot;BSI&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf |titel=Rationale für C99, Revision 5.10 |format=PDF; 898&amp;amp;nbsp;kB |zugriff=2010-10-17 |sprache=en |kommentar=Kapitel 5.2.1.1}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Verwendung von Digraphen (wie auch von [[Trigraph]]en) gilt heutzutage als überholt, da inzwischen auf nahezu allen Plattformen der komplette [[American Standard Code for Information Interchange|ASCII]]-Zeichensatz unterstützt wird.&lt;br /&gt;
&lt;br /&gt;
Da die Digraphen jedoch noch immer in der Sprache definiert sind, kann dies zu subtilen und bisweilen schwer zu findenden Fehlern führen, welche jedoch von aktuellen Compilern angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
std::vector&amp;lt;::std::size_t&amp;gt; v;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies lässt sich lösen, indem ein [[Leerzeichen]] eingefügt wird:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
std::vector&amp;lt;␣::std::size_t&amp;gt; v;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seit [[C++11]] ist dieses Leerzeichen nicht mehr nötig. Die Syntaxdefinition wurde entsprechend angepasst, dass o.&amp;amp;nbsp;g. Code auch ohne Leerzeichen korrekt geparst wird.&amp;lt;ref&amp;gt;[https://en.cppreference.com/w/cpp/language/operator_alternative en.cppreference.com]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit dem Makro&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#define PROC_CAT(l, r) l ## r&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
lassen sich alle Digraphen zusammenfügen zu den entsprechenden Zeichen, nur die Raute nicht:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
PROC_CAT(&amp;lt;, :) //Wird zu &amp;quot;{&amp;quot;&lt;br /&gt;
PROC_CAT(new int &amp;lt;, :10:&amp;gt;) //Wird zu new int [10]&lt;br /&gt;
PROC_CAT(%, :) define NOT_POSSIBLE //Erzeugt Fehler &amp;quot;stray &amp;#039;%:&amp;#039; in program&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;BSI&amp;quot;&amp;gt;&lt;br /&gt;
{{Literatur&lt;br /&gt;
 |Titel=The C Standard – Incorporating TC1 – BS ISO/IEC 9899:1999&lt;br /&gt;
 |Verlag=John Wiley &amp;amp; Sons&lt;br /&gt;
 |ISBN=0-470-84573-2&lt;br /&gt;
 |Kapitel=6.4.6&lt;br /&gt;
 |Hrsg=British Standards Institute&lt;br /&gt;
 |Datum=2003}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprachen]]&lt;/div&gt;</summary>
		<author><name>imported&gt;DynaMoToR</name></author>
	</entry>
</feed>