ende eines arrays
-
wenn ich eine funktion der art habe:
template<class t> foo(const t* src) { };gibt es dann irgendeine möglichkeit heraus zu bekommen wo das feld zu ende ist? oder muss man immer die länge des feldes mit übergeben? vielleicht gibts ja wie bei const char* so eine art trennsymbol wie \0.
danke schonmal im voraus.
-
Nein, gibt es nicht - deswegen werden C-Strings ja nullterminiert, um eine Endemarke zu haben. Du kannst entweder die Länge explizit angeben, ein "end-of-Array" Element hinten dranhängen oder umsteigen auf std::vector<>.
-
FreakyBKA schrieb:
wenn ich eine funktion der art habe:
template<class t> foo(const t* src) { };gibt es dann irgendeine möglichkeit heraus zu bekommen wo das feld zu ende ist? ...
Nein.
FreakyBKA schrieb:
oder muss man immer die länge des feldes mit übergeben?
Ja.
Noch besser: std::vector nehmen ! Der hat das alles schon....
Gruß,
Simon2.
-
alles klar