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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Tani
25 / 25 / 1
Регистрация: 27.12.2009
Сообщений: 82
#1

Параметр - C++

27.12.2009, 15:04. Просмотров 350. Ответов 2
Метки нет (Все метки)

int compare (Zakaz* arg1,Zakaz * arg2)
....
qsort (p, 3, sizeof (Zakaz),(int (*)(void *, void *))compare);
Объясните, пожалуйста,что означает запись 4-го параметра функции? И в прототипе compare необязательно объявлять параметры константами? Я не объявляла, хотя во всех примерах надо только не пойму зачем

Добавлено через 4 минуты
Zakaz-это тип структуры
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2009, 15:04     Параметр
Посмотрите здесь:

параметр, процедуры - C++
Доброго времени суток, помогите с решением задач: Param8. Описать процедуру RemoveX(A, N, X), удаляющую из целочисленного массива A...

Параметр функции [out] - C++
Добрый вечер. Возникла такая проблема. Есть функция, ее нужно протестировать. Судя по описанию, у нее 3 входных параметра, это матрица,...

Формальный параметр - C++
Напишите код функции, с одним формальным параметром x, которая предназначена для вычисления 1/x. Параметр передается по ссылке. Приведите...

Обмануть 1 параметр - C++
Всем привет! Столкнулся с нестандартной проблемой. Написал программу test.exe, которая должна запускать другую программу с 1 параметром,...

Const параметр - C++
зачем пишут class Sm{ public: Sm(const Sm&){}; // same with operator@ }; если ссылка и так константа. достаточно Sm&. или я...

Параметр конструктора - C++
Ребята, помогите. Как создать конструктор, который принимает символ в качестве параметра? Заранее благодарен.

Параметр shmget - C++
У функции shmget три параметра. С первыми двумя всё понятно, а вот третий параметр мне не совсем понятен. Вот прототип ф-ии: shm_id...

Параметр функции - C++
Задаюсь вопросом для чего это нужно. const string &Function(int &i; int &j) { //код функции. } Адрес у i и j, это понятно...

Выходной параметр функции - C++
Прошу прощения за глупый вопрос:) но не понимаю почему к примеру в коде void getline(char s, int lim) { int c,i; for(i=0;i<lim-1...

Шаблоны и параметр по умолчанию - C++
Добрый день. Вроде всё делаю по учебнику, но компилятор не пропускает: #include <iostream> #include <vector> #include <cstdlib> ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sich_Taras
14 / 14 / 1
Регистрация: 08.10.2009
Сообщений: 114
27.12.2009, 15:04     Параметр #2
Tani, четвертый параметр - имя функции которая сравнивает элементы при сортировке.
Пример:
1
12
13
14
15
16
17
18
19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* qsort example */
#include <stdio.h>
#include <stdlib.h>
 
int values[] = { 40, 10, 100, 90, 20, 25 };
 
int compare (const void * a, const void * b)
{
  return ( *(int*)a - *(int*)b );
}
 
int main ()
{
  int n;
  qsort (values, 6, sizeof(int), compare);
  for (n=0; n<6; n++)
     printf ("%d ",values[n]);
  return 0;
}
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,365
27.12.2009, 15:07     Параметр #3
1. Запись четвертого параметра означает, что compare, каково бы оно ни было (какая бы функция тут ни была реально указана), принудительно приводится к указателю на функцию, принимающую два параметра типа void* и возвращающую значение типа int.
2. Можно не объявлять как const, но "хороший" стиль программирования требует, чтобы параметр, если функция по логике своей работы его заведомо не изменяет, был объявлен как const. Это уберегает от возможных ошибок - даже если ты по ошибке попытаешься изменить const-параметр, компилятор сразу же выругается по этому поводу.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru