Стандарт для "not found" при использовании size_t - PullRequest
0 голосов
/ 22 ноября 2018

Существует ли стандарт, какое значение использовать, когда вы выполняете поиск по массиву, а значение не найдено.С подписью я бы вернул -1.Но как насчет size_t или длинного без знака.

   int find(int a[],int b, int n){
   for(int i=0; i<n; i++){
       if(a[i]==b)
           return i;
   }
   return -1;
   }

При использовании size_t просто придумал бы это.Но это не совсем идеально.

   long long int find(int a[],int b, size_t n){
   for(size_t i=0; i<n; i++){
       if(a[i]==b)
           return (long long int)i;
   }
   return -1;
   }

1 Ответ

0 голосов
/ 22 ноября 2018

Чтобы тип size_t имел отрицательное значение, существует тип ssize_t со знаком.

Нельзя полагаться на эквивалентность size_t без знака в зависимости от его архитектуры.

...