Czy istnieje powód podpis StrCpy jest to:Dlaczego program strcpy nie używa wskaźnika const dla dest?
char *strcpy(char *dest, const char *src);
zamiast tego?
char *strcpy(char *const dest, const char *src);
O ile mi wiadomo, funkcja nigdy nie zmieni wskaźnika.
Czy nie rozumiem do czego służą wskaźniki const? Moim zdaniem, gdy funkcja, którą piszę, akceptuje wskaźnik, który nie zostanie zmieniony (przez realloc, itp.), To oznaczam go jako wskaźnik const, aby można było zapewnić, że wskaźnik nie zostanie na nich przesunięty. (W przypadku, gdy mają inne struktury/itp. Odnoszące się do lokalizacji wskaźnika, która stałaby się nieaktualna)
Czy to jest OK, czy może mieć niezamierzone konsekwencje?
myślę stałą można zainicjować/assighned/zdefiniowany tylko raz lub jest zdefiniowany na podstawie deklaracji. –
Nie tylko _ funkcja nigdy nie zmieni wskaźnika._, ale nie ma mowy, aby 'strcpy' mógł zmienić' dest' mimo to nawet bez const. –