Пятница, 29 Марта 2024, 14:38

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Форум игроделов » Программирование » C/C++ » Нубский ворпос. (Помогите пожалуйста.)
Нубский ворпос.
mendozaДата: Среда, 17 Ноября 2010, 22:42 | Сообщение # 41
почетный гость
Сейчас нет на сайте
Kornival, да.

Where's your meds?
KornivalДата: Четверг, 18 Ноября 2010, 07:24 | Сообщение # 42
The Witcher
Сейчас нет на сайте
Quote (ezhickovich)
О боже... Кэп помоги...

Не легче было бы написать ДА?

mendoza, спасибо.

Сообщение отредактировал Kornival - Четверг, 18 Ноября 2010, 07:24
mendozaДата: Пятница, 19 Ноября 2010, 00:57 | Сообщение # 43
почетный гость
Сейчас нет на сайте
Да пожалуйста.

Where's your meds?
KornivalДата: Понедельник, 10 Января 2011, 16:33 | Сообщение # 44
The Witcher
Сейчас нет на сайте
Object &Function();
Object *Function();
Какая разница?
BOOMДата: Понедельник, 10 Января 2011, 16:39 | Сообщение # 45
I am the creator of ADE
Сейчас нет на сайте
& - берёт указатель
* - возвращает объект согласно указателю.
Например:
Code


int x = 3;
int *y = &x;
cout << x << endl;
cout << *y << endl;
cout << y << endl;

Собери этот код и посмотри, что получится. smile


______________________________
Я вернулся, и это чудо.
______________________________
KornivalДата: Понедельник, 10 Января 2011, 16:45 | Сообщение # 46
The Witcher
Сейчас нет на сайте
Quote (BOOM)
Собери этот код и посмотри, что получится.

Ну что здесь получится я знаю, вопрос был относильно возвращаемых функцией значений.
Object &Function();
Object *Function();
Обе функции возвращают указатель на объект Object?
BOOMДата: Понедельник, 10 Января 2011, 16:55 | Сообщение # 47
I am the creator of ADE
Сейчас нет на сайте
Quote (Kornival)
Object &Function();

По моему, объект, а это
Quote (Kornival)
Object *Function();

указатель, однозначно.

Проверить можно:

Code

int p = 4;

int &ex1(){ return p; }

int *ex2(){ return &p; }

int main(int argc, char* argv[])
{
cout << ex1() << endl;
cout << ex2() << endl;
system("Pause");
return 0;
}


______________________________
Я вернулся, и это чудо.
______________________________
KornivalДата: Вторник, 11 Января 2011, 21:18 | Сообщение # 48
The Witcher
Сейчас нет на сайте
Спасибо hands

Добавлено (11.01.2011, 21:18)
---------------------------------------------
Подскажите пожалуйста, как получить системное время в миллисикундах, есть ли, в стандартной библиотеке, функция или класс для работы с ним?

Сообщение отредактировал Kornival - Вторник, 11 Января 2011, 21:19
MatouДата: Вторник, 11 Января 2011, 22:14 | Сообщение # 49
Исходный коТ
Сейчас нет на сайте
Quote (Kornival)
Object &Function(); Object *Function(); Какая разница?

Первая функция возвращяет ссылку, втора функция указательно, все просто же)



ezhickovichДата: Вторник, 11 Января 2011, 22:58 | Сообщение # 50
[Великий и могучий хозяинъ]
Сейчас нет на сайте
[url=http://msdn.microsoft.com/en-us/library/ms724390(v=vs.85).aspx]Клик1[/url]
[url=http://msdn.microsoft.com/en-us/library/dd757629(v=vs.85).aspx]Клик2[/url]



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
KornivalДата: Пятница, 14 Января 2011, 14:38 | Сообщение # 51
The Witcher
Сейчас нет на сайте
А без использования windows.h нельзя? Мне в принципе подойдет любой таймер-надо замерить скорость выполнения сортировки.

Добавлено (14.01.2011, 14:38)
---------------------------------------------
P.S.

Code

int *point;
point = new int;
((int*)point+1) = new int;

Почему компилятор орет об ошибке?


Сообщение отредактировал Kornival - Пятница, 14 Января 2011, 13:48
MatouДата: Пятница, 14 Января 2011, 15:37 | Сообщение # 52
Исходный коТ
Сейчас нет на сайте
Quote (Kornival)
Почему компилятор орет об ошибке?

То что стоит слева в выражинии ((int*)point+1) = new int; не обьект(не LValue), а ты пытаешся ему что-то присвоить, как можно что-то присвоить выражению?





Сообщение отредактировал Matou - Пятница, 14 Января 2011, 18:03
KornivalДата: Пятница, 14 Января 2011, 16:31 | Сообщение # 53
The Witcher
Сейчас нет на сайте
Ясно. Тогда допустим я не знаю сколько мне понадобится памяти, как можно постоянно динамически выделять память и как к ней потом обращаться. Нужно сделать что-то вроде vector`a. Ну в общем как выделять память понятно, но как сделать "итератор"?
MatouДата: Пятница, 14 Января 2011, 18:14 | Сообщение # 54
Исходный коТ
Сейчас нет на сайте
Ну итератор для массива сделать довольно таки просто, при условии что память не будет перераспределяться. Глядя на твой код выше довольно тяжело понять что ты хочешь. Если тебе нужно просто обращяться через итератор к динамическому массиву, то это делается примерно так:
Code

int *point = new int[size];  // наш массив, на него указывает point

int *inerator = point; // вот так можно определить итератор
                      // теперь можно обращяться через него
// пример
for(int i = 0; i < size; ++i)
       cout << *(iterator++)

То что я написал носит чисто илюстрационный характер, делать так крайне не рекомендуется, во первых хранить итератор отдельно от массива не удобно и тяжело, для их обьединения нужно использовать структуру, во вторых желательно иметь методы по перераспределению помяти, а для этого лучше использовать классы, а не структуры, ну и в последних, но не в последнюю очередь, не зачем изобретать велосипед, все это уже реализовано в STL





Сообщение отредактировал Matou - Пятница, 14 Января 2011, 18:15
KornivalДата: Пятница, 14 Января 2011, 19:29 | Сообщение # 55
The Witcher
Сейчас нет на сайте
Quote (Matou)
int *point = new int[size];

В том и дело что мне неизвестен размер массива, нужно добавлять объекты в класс динамически, по ходу выполнения программы.


Сообщение отредактировал Kornival - Пятница, 14 Января 2011, 19:38
ezhickovichДата: Пятница, 14 Января 2011, 20:00 | Сообщение # 56
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Kornival, юзай двусвязные списки...


Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
MatouДата: Пятница, 14 Января 2011, 20:21 | Сообщение # 57
Исходный коТ
Сейчас нет на сайте
Kornival, я все равно не понял чего ты хочешь и о каких обьектах идет речь.


ezhickovichДата: Пятница, 14 Января 2011, 20:22 | Сообщение # 58
[Великий и могучий хозяинъ]
Сейчас нет на сайте
Quote (Kornival)
класс

Возможно он просто опечатался и/или не может сформулировать...



Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
KornivalДата: Пятница, 14 Января 2011, 20:29 | Сообщение # 59
The Witcher
Сейчас нет на сайте
Matou, у меня есть некий класс который хранит переменные, сколько переменных он должен хранить заранее не известно, поэтому надо динамически выделять память для них. Вот собственно и вся проблема.

Сообщение отредактировал Kornival - Пятница, 14 Января 2011, 20:32
GECKДата: Пятница, 14 Января 2011, 20:35 | Сообщение # 60
заслуженный участник
Сейчас нет на сайте
Как уже говорил ezhickovich, юзай списки. Необязательно двусвязные, можно вполне и односвязными обойтись.

Всё гениальное просто. И хреново работает.
Форум игроделов » Программирование » C/C++ » Нубский ворпос. (Помогите пожалуйста.)
  • Страница 3 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг