Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2010, 00:28   #1
And_DaviD
Пользователь
 
Регистрация: 12.02.2010
Сообщений: 28
По умолчанию in-line функции

Создать абстрактный тип данных (структура) - вектор, который имеет указатель на float и число элементов.
Определить функцию, которая выделяет память для массива и инициализирует данные.
Определить 2 функции, отличающиеся только спецификатором inline, которые устанавливают элемент массива в некоторое значение, использовать их при инициализации.
Освободить память. Сравнить время вычисления.

Код:
#include <iostream>
#define N 10

using namespace std;

struct Vector
{
	float *ptr;
	float a[N];
};

void Mass();
void Element ();
inline void Element();


int main ()
{
	Mass();
	
	return 0;
}

void Mass()
{
	Vector  p;
	int i;
	
	p.a[N] = *(new float); 
	for (i=0; i< N; i++)
	{		
		Element ();
		cout << p.a[i] << endl;
	}
	 delete p.a;
}

inline void Element ()
{
	Vector *p;
	int i=0;
	 
		p->a[i]= (float) N-i;;
		i++;
}
Программа запускается, но в функции inline void Element () пишет, что p - не инициализирована.
Что не так???
And_DaviD вне форума Ответить с цитированием
Старый 18.02.2010, 00:33   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

1. inline пишется только в определении функции, в объявлении не нужно.
2. p действительно не инициализирована.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 18.02.2010, 00:42   #3
And_DaviD
Пользователь
 
Регистрация: 12.02.2010
Сообщений: 28
По умолчанию

а где я эту р не инициализировал??? вроде все правильно... но... не работает
And_DaviD вне форума Ответить с цитированием
Старый 18.02.2010, 00:46   #4
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Задание не верно сформулировано (или я чего-то не понимаю?)
Как можно "Определить 2 функции, отличающиеся только спецификатором inline"? Перегруженные функции? Они не могут отличаться только спецификатором inline.
А по поводу самой структуры, мне кажется, должно быть так:
Код:
struct Vector
{
	float *ptr; //Указатель на массив элементов
	int count; //Размерность массива
};
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 18.02.2010, 00:47   #5
And_DaviD
Пользователь
 
Регистрация: 12.02.2010
Сообщений: 28
По умолчанию

ОООО, возможно!! эта идея... полетел делать
Спасибо,Blade
And_DaviD вне форума Ответить с цитированием
Старый 18.02.2010, 00:49   #6
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Цитата:
Как можно "Определить 2 функции, отличающиеся только спецификатором inline"? Перегруженные функции? Они не могут отличаться только спецификатором inline.
да там не только задание, но и реализация странная)

2And_DaviD
Цитата:
а где я эту р не инициализировал???
Код:
inline void Element ()
{
	Vector *p;
	int i=0;
	 
		p->a[i]= (float) N-i;;
		i++;
}
покажи тут инициализацию
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 18.02.2010, 00:56   #7
And_DaviD
Пользователь
 
Регистрация: 12.02.2010
Сообщений: 28
По умолчанию

дествительно где ))))
And_DaviD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
On-line футбольный менеджер jeka5555 Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 28.07.2009 16:02
on-line курсы Zoo Общие вопросы .NET 1 24.12.2008 22:07
On-line Games vicvtor Свободное общение 6 26.01.2007 20:31