Форум программистов, компьютерный форум CyberForum.ru

Функция, которая определяет, входит ли значение в массив - оценка реализации - C++

Восстановить пароль Регистрация
 
 
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
20.07.2014, 19:56     Функция, которая определяет, входит ли значение в массив - оценка реализации #1
привет всем, это снова я велосипедописатель на сей раз я решил опять заюзать так понравившееся мне шаблоны для написания на сей раз более простой, но довольно полезной (на мой взгляд) функции которая определяет входит ли значение в массив, прошу вашей оценки, так ли все хорошо как мне кажется?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
template <typename T>
bool ValueInArray(T Value, T* Array)
{
    int count = 0;
    bool retval = false;
    while (*Array)
    {
        count++;
        if (Value == *(Array++))
        {
            retval = true;
            break;
        }
        else
        {
            retval = false;
        }
    }
    Array -= count * sizeof(T);
    return retval;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2014, 19:56     Функция, которая определяет, входит ли значение в массив - оценка реализации
Посмотрите здесь:

C++ Функция, которая находит минимальное значение
C++ Написать программу, которая определяет симметричный массив или нет
C++ Функция,которая определяет, встречается ли заданная буква, которая передается в функцию как параметр
C++ Функция, которая для одного целого числа определяет, является ли оно кратно числу К
Функция, которая возвращает требуемое значение C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
20.07.2014, 22:15  [ТС]     Функция, которая определяет, входит ли значение в массив - оценка реализации #21
ValeryS, ясно, значит вопрос снят
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
20.07.2014, 22:27     Функция, которая определяет, входит ли значение в массив - оценка реализации #22
Цитата Сообщение от ValeryS Посмотреть сообщение
она просто выделит в свободном месте нужное количество памяти скопирует туда из старого блока значения и удалит старую память
Всё таки она по возможности выделит блок по тому же адресу, и тогда копирование не нужно; но расчитывать на это не стоит конечно.
GetHelp
-8 / 60 / 6
Регистрация: 27.02.2013
Сообщений: 1,112
20.07.2014, 22:32  [ТС]     Функция, которая определяет, входит ли значение в массив - оценка реализации #23
Цитата Сообщение от gray_fox Посмотреть сообщение
и тогда копирование не нужно
так все таки... давайте точно: realloc копирует значения или нет??? это уже не про длину массивов, просто давно это интересно...
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
20.07.2014, 22:34     Функция, которая определяет, входит ли значение в массив - оценка реализации #24
Цитата Сообщение от GetHelp Посмотреть сообщение
realloc копирует значения или нет
Если у него получиться выделить блок памяти нужного размера по тому же адресу, то нет; если не получиться, то да, будет копирование.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.07.2014, 05:25     Функция, которая определяет, входит ли значение в массив - оценка реализации
Еще ссылки по теме:

Функция, которая возвращает значение в классе C++
C++ Написать программу, которая определяет, содержит ли заданный массив число, равное S
C++ Программа, которая определяет, какую следует удалить цифру из числа, чтобы получить максимальное значение

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6373 / 4839 / 440
Регистрация: 14.02.2011
Сообщений: 16,038
21.07.2014, 05:25     Функция, которая определяет, входит ли значение в массив - оценка реализации #25
Цитата Сообщение от gray_fox Посмотреть сообщение
Всё таки она по возможности выделит блок по тому же адресу,
По моему, сие не оговорено и зависит от реализации
Цитата Сообщение от gray_fox Посмотреть сообщение
но расчитывать на это не стоит конечно.
И это правильно
давай рассчитывать на самый худший вариант
Цитата Сообщение от GetHelp Посмотреть сообщение
это уже не про длину массивов,
разумеется размер выделенной памяти где то хранится менеджером памяти
Но где? тайна великая сие есть
каждый компилятор волен располагать где хочет, и достать эту информацию, без хакерских штучек, невозможно
Yandex
Объявления
21.07.2014, 05:25     Функция, которая определяет, входит ли значение в массив - оценка реализации
Ответ Создать тему
Опции темы

Текущее время: 14:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru