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

Typedef и функция - C++

Восстановить пароль Регистрация
 
Starfalll
0 / 0 / 0
Регистрация: 09.03.2013
Сообщений: 32
28.03.2014, 21:03     Typedef и функция #1
есть такая функция
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void implicitCurve(const double* x, double* y, double* Df)
{
    // funkcyja  f(a,b,c) = (1-a^2-b^2-c^2,(a+b+c)/(a^2+b^2+c^2)-1)
    // 
    const double n = x[0]*x[0] + x[1]*x[1] + x[2]*x[2];
    const double s = x[0] + x[1] + x[2];
 
    y[0] = 1. - n;
    y[1] = s/n - 1.;
 
 
    Df[0] = -2.*x[0];
    Df[1] = -2.*x[1];
    Df[2] = -2.*x[2];
 
    const double r = 1./n;
    const double r2 = 2.*y[1]*r;
    Df[3] = r - x[0]*r2;
    Df[4] = r - x[1]*r2;
    Df[5] = r - x[2]*r2;
}
У нас есть какой-то массив , каждый элемент массива пересчитываем закидываем в еще один массив и производные того что вышло закидываем в еще один массив (все нужное для методю Ньютона)

C++
1
2
3
4
5
typedef void (*FuncPointer)(const double* x, double* y, double* Df);
 
int findCurve(FuncPointer f, double* x, unsigned k, double h);
 
findCurve(implicitCurve,x,10,1./128);
findcurve то что нужно написать , вот только я не до конца понимаю что нам дает typedef и как вообще получить данные с FuncPointer'a?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.03.2014, 21:03     Typedef и функция
Посмотрите здесь:

Оператор typedef C++
typedef C++
typedef C++
typedef в c++ C++
Typedef C++
typedef C++
Typedef C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
recoder
 Аватар для recoder
129 / 129 / 28
Регистрация: 13.09.2013
Сообщений: 260
Записей в блоге: 2
28.03.2014, 21:11     Typedef и функция #2
typedef просто позволяет не писать вот так вот:

C++
1
int findCurve(void (*FuncPointer)(const double* x, double* y, double* Df), double* x, unsigned k, double h);
C++
1
findCurve(implicitCurve,x,10,1./128);
- здесь можно сделать вот так:
C++
1
2
3
4
findCurve(implicitCurve,x,10,1./128)
{
(*implicitCurve)(x,10,1./128);
}
Yandex
Объявления
28.03.2014, 21:11     Typedef и функция
Ответ Создать тему
Опции темы

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