-
Ich möchte mich auch mal kurz einmischen. Nach meinem Kenntnisstand ist const eine Übergabe per Referenz, also keine Kopie. Der Compiler verspricht nur, darauf aufzupassen, dass es keine Anweisungen gibt, die den Wert ändern.
Ich habe mich allerdings schon immer gefragt, wie bestimmte Konvertierungen funktionieren. Wenn ich einen Parameter als z.B. als varucs2 const deklariere, kann ich beim Aufruf problemlos einen normalen char-Wert übergeben. Irgendwie widerspricht das in meinen Augen dem Call by Reference. Der Wert, auf den der varucs2-Wert zeigt, ist ja nicht wirklich ein varucs2, sondern ein char. Aber es klappt.
Dass const grundsätzlich eine Übergabe per Referenz ist, habe ich aber bereits (leidvoll) erfahren müssen, als ich folgende seltsame Problematik in einem PGM gefunden habe:
- Im PGM wurde eine Variable X global deklariert
- X wurde an eine Procedure per Parameter übergeben und unter dem Namen Y const empfangen (Ich weiß, dass war unnötig, denn X war ja global)
- Innerhalb der Procedure wurden keine Änderung an Y durchgeführt. Geht ja auch nicht, denn Y wurde ja const empfangen.
- Im weiteren Verlauf wurde innerhalb der Procedure jedoch die globale Variable X verändert. Und damit war sofort auch Y verändert. Damit hatte man nicht gerechnet, da Y ja const war. Aber (ich denke wegen des call by reference) wurde sofort Y wertmäßig zu X
Aber vielleicht weiß ja jemand, wie die Konvertierung zwischen den Datentype klappt, auch wenn const ein "call by reference" ist.
Gruß,
Dieter
Similar Threads
-
By harkne in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 20-03-19, 11:35
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 30-11-17, 15:14
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 09-10-17, 09:42
-
By TheDevil in forum NEWSboard Programmierung
Antworten: 22
Letzter Beitrag: 16-02-16, 08:11
-
By _MG_ in forum NEWSboard Programmierung
Antworten: 14
Letzter Beitrag: 12-12-15, 12:07
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks