Нубский ворпос.
|
|
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;
Собери этот код и посмотри, что получится.
______________________________ Я вернулся, и это чудо. ______________________________
|
|
| |
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
Сейчас нет на сайте
| Спасибо Добавлено (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 |
[Великий и могучий хозяинъ]
Сейчас нет на сайте
| Возможно он просто опечатался и/или не может сформулировать...
Я: О великий повелитель этой ничтожной вселенной - сокращённо ЁЖ!
|
|
| |
Kornival | Дата: Пятница, 14 Января 2011, 20:29 | Сообщение # 59 |
The Witcher
Сейчас нет на сайте
| Matou, у меня есть некий класс который хранит переменные, сколько переменных он должен хранить заранее не известно, поэтому надо динамически выделять память для них. Вот собственно и вся проблема.
Сообщение отредактировал Kornival - Пятница, 14 Января 2011, 20:32 |
|
| |
GECK | Дата: Пятница, 14 Января 2011, 20:35 | Сообщение # 60 |
заслуженный участник
Сейчас нет на сайте
| Как уже говорил ezhickovich, юзай списки. Необязательно двусвязные, можно вполне и односвязными обойтись.
Всё гениальное просто. И хреново работает.
|
|
| |