C++ Variable Typen der Funktions-Parameter

@1668mib Willst einen Keks? (Sorry, natürlich hat er Recht. Ich werde mich demnächst vllt konsequenter ausdrücken...)
 
Ja hast natürlich recht.Wir durften bei unserem Prof nie etwas aus String.h benutzen :-D
 
Und wenn der char* nicht nullterminiert ist? Nicht jedes char-array ist ein String. Ganz schlechte Idee.
 
@asdfman: Deshalb hat halt der Programmierer Sorge zu tragen, dass er dort nur null-terminierte Strings nimmt...

Es macht für mich auch nicht wirklich sinn, strlen auf nen Char-Array anzuwenden, das irgendwelche Zeichen hat, die ich nicht als Zeichenfolge zu interpretieren habe... Dann muss ich mir andere Wege überlegen, die Länge (Größe) zu bestimmen - wenn dies überhaupt möglich ist...
 
ghorst schrieb:
Spontan würde ich den Code STL-like so schreiben...
Warum nicht
Code:
struct Cleaner
{
  template <typename T>
  void operator( T begin, T end) {
     ...
  }
};


ghorst schrieb:
EDIT: Um das noch zu erklären: Function-Templates schließen ihren Typ aus ihren Parametern, daher sind sie einfach zu benutzen, können aber nicht wirklich spezialisiert werden, sondern nur überladen.
Überladene Funktion-Templates sind die Quelle alles Bösen!

Ist zwar jetzt aus dem Kopf, aber folgender Code sollte das Problem darstellen:
Code:
void f( int i)
{
  cout << "foo";
}

template <typename T>
void f( T i)
{
  cout << "bar";
}

void g()
{
  f( 5.0);
}
 
@7H3 N4C3R:
Ka, aber ich seh hier ehrlich gesagt keine große Probleme...
5.0 ist ein double... also ruft f ganz sicher die Template-Funktion auf.

Und wenn man nur 5 macht => klar, dann kommt foo...

Ich sehe ehrlich gesagt nicht, warum es die Quelle alles Bösen sein soll, vielleicht bin ich auch blind...
 
Zurück
Oben