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

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

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

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

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

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

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

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
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;
}
0
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,370
27.12.2009, 15:07 #3
1. Запись четвертого параметра означает, что compare, каково бы оно ни было (какая бы функция тут ни была реально указана), принудительно приводится к указателю на функцию, принимающую два параметра типа void* и возвращающую значение типа int.
2. Можно не объявлять как const, но "хороший" стиль программирования требует, чтобы параметр, если функция по логике своей работы его заведомо не изменяет, был объявлен как const. Это уберегает от возможных ошибок - даже если ты по ошибке попытаешься изменить const-параметр, компилятор сразу же выругается по этому поводу.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2009, 15:07
Привет! Вот еще темы с ответами:

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

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

зачем нужен параметр - C++
#include&quot;otobrazenie.h&quot; #include &quot;primary.h&quot; #include &lt;iostream&gt; #include &quot;execution.h&quot; #include&quot;output.h&quot; #include&quot;input.h&quot; ...

Изменить параметр класса - C++
Дан пример программы. // Program.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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