| Autor |
Nachricht |
inc7
Mitglied
Benutzerprofil
Anmeldungsdatum: 15.01.2012
Beiträge: 52
|
inc7 Mitglied
13: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: 12243
|
SeppJ Moderator
13: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: 6819
|
drakon Mitglied
13: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: 52
|
inc7 Mitglied
13: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: 12243
|
SeppJ Moderator
13: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: 52
|
inc7 Mitglied
13: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: 12243
|
SeppJ Moderator
13: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
|
manni66 Unregistrierter
13: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: 52
|
inc7 Mitglied
13:57:02 28.01.2012 Titel: |
|
Zitieren |
Jetzt ist es bisschen klarer für mich. Danke für eure Antworten. |
|
|
|
 |
Unregistrierter
|
Unregistrierter
14: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? |
|
|
|
 |