Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: C++ (auch C++0x und C++11) ::  Nutzen von konstanten Parametern     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
inc7
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.01.2012
Beiträge: 56
Beitrag inc7 Mitglied 14:26:07 28.01.2012   Titel:   Nutzen von konstanten Parametern            Zitieren

Ich habe folgenden Code:

C/C++ Code:
int test(const int i)
{
    return 0;
}
C/C++ Code:
int test(const int i)
{
return 0;
}
C/C++ Code:
int test(const int i)
{
    return 0;
}


Der Parameter i ist weder eine Referenz, noch ein Zeiger. const im Zusammenhang mit Referenzen oder Zeigern würde Sinn ergeben, weil i verändert werden könnte.

Warum spuckt dann aber VS 2010 keine Bemerkung als Warning oder Message aus?
SeppJ
Moderator

Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 13604
Beitrag SeppJ Moderator 14:31:53 28.01.2012   Titel:   Re: Nutzen von konstanten Parametern            Zitieren

inc7 schrieb:

Warum spuckt dann aber VS 2010 keine Bemerkung als Warning oder Message aus?
Was erwartest du denn?
drakon
Mitglied

Benutzerprofil
Anmeldungsdatum: 28.01.2008
Beiträge: 6824
Beitrag drakon Mitglied 14:32:48 28.01.2012   Titel:              Zitieren

Warum sollte es? Es macht einfach nicht viel Sinn, aber Ok ist es allemal. So kannst du verdeutlichen, dass innerhalb der Funktion der Wert nicht verändert werden darf. Das ist es nach aussen auch ohne das const, aber innerhalb der Funktion nicht.

_________________
Blog: www.drakon.ch
inc7
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.01.2012
Beiträge: 56
Beitrag inc7 Mitglied 14:40:26 28.01.2012   Titel:              Zitieren

Dass VS 2010 sagt, dass es keinen Sinn macht.
SeppJ
Moderator

Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 13604
Beitrag SeppJ Moderator 14:42:17 28.01.2012   Titel:              Zitieren

inc7 schrieb:
Dass VS 2010 sagt, dass es keinen Sinn macht.
Es macht aber welchen, wenn auch wenig und verwirrend. Das i ist in deiner Funktion konstant und du kannst es nicht ändern.
inc7
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.01.2012
Beiträge: 56
Beitrag inc7 Mitglied 14:46:32 28.01.2012   Titel:              Zitieren

SeppJ schrieb:
Es macht aber welchen, wenn auch wenig und verwirrend. Das i ist in deiner Funktion konstant und du kannst es nicht ändern.


Kannst du mir einen Anwendungsfall nennen, wo sowas gebraucht wird?
SeppJ
Moderator

Benutzerprofil
Anmeldungsdatum: 10.06.2008
Beiträge: 13604
Beitrag SeppJ Moderator 14:51:19 28.01.2012   Titel:              Zitieren

inc7 schrieb:

Kannst du mir einen Anwendungsfall nennen, wo sowas gebraucht wird?
Es verhindert, dass du versehentlich das i änderst. Genau so wie alle anderen const, die nicht dazu dienen, const-Correctness zu gewähren.
manni66
Unregistrierter




Beitrag manni66 Unregistrierter 14:55:28 28.01.2012   Titel:              Zitieren

Es kann durch das const kein Fehler geschehen, wozu sollte der Compiler also eine Warnung ausgeben? Und was soll drinstehen? Achtung, Trottel an der Tastatur?
inc7
Mitglied

Benutzerprofil
Anmeldungsdatum: 15.01.2012
Beiträge: 56
Beitrag inc7 Mitglied 14:57:02 28.01.2012   Titel:              Zitieren

Jetzt ist es bisschen klarer für mich. Danke für eure Antworten.
Unregistrierter





Beitrag Unregistrierter 15:00:28 28.01.2012   Titel:              Zitieren

Kann es sein, dass dein Compiler dich warnt weil i gar nicht benutzt wird, dann wäre das aber nach meiner Auffassung eher ein Hinweis als eine Warnung?
theta
Mitglied

Benutzerprofil
Anmeldungsdatum: 26.09.2008
Beiträge: 3814
Beitrag theta Mitglied 15:32:13 28.01.2012   Titel:              Zitieren

justchris schrieb:
Kann es sein, dass dein Compiler dich warnt weil i gar nicht benutzt wird, dann wäre das aber nach meiner Auffassung eher ein Hinweis als eine Warnung?

Was hat das mit dem const zu tun?
Unregistrierter





Beitrag Unregistrierter 17:55:27 28.01.2012   Titel:              Zitieren

Nix direkt, würde mich aber mal interessieren ob dann die Warnung weg ist.
cooky451
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.10.2010
Beiträge: 4840
Beitrag cooky451 Mitglied 18:07:32 28.01.2012   Titel:              Zitieren

justchris schrieb:
Nix direkt, würde mich aber mal interessieren ob dann die Warnung weg ist.
Der Compiler warnt doch eben nicht.

_________________
Sie sind nicht berechtigt unrechtmäßige Kopien dieses Datenträgers zu erstellen.™
C/C++ Forum :: C++ (auch C++0x und C++11) ::  Nutzen von konstanten Parametern   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.