Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как создать переопределяемый динамический массив 
:(
    Опции темы
Zero
  Дата 6.10.2005, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



В общем случае чтобы создать динамический массив, то это делается так:
Код

typedef int*intptr;
............
intptr mas;
mas = new int[1];

//Далее мне нужно определить первый элемент
mas[0] = 5435;

//Далее мне нужно переопределить массив
//но если сделать так
mas = new int[2];
//тогда mas[0] сотрётся и её надо заново вводить

А как сделать так чтобы переменную mas не заново определять, а к текущеё добавить или убрать нужное кол-во элементов.
Хорошо бы если за место функции new была бы функция редактирования кол-ва элементов, как в делфи с помощью функции SetLength можно устанавливать в любой момент времени нужнок кол-во элементов.
PM MAIL ICQ   Вверх
Mayk
Дата 6.10.2005, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



использовать vector из stl.

Код

#include <vector>
#include <iostream>

using namespace std;

int main()
{
        vector<int> s(3);
        s[0]=0;
        s[1]=1;
        s[2]=2;
        s.push_back(3);
        s.resize(6);
        s[4]=99;
        s[5]=100;

        for(int i=0;i != s.size(); ++i){
                cout << i << ')' << s[i] << endl;
        }
}


Это сообщение отредактировал(а) Mayk - 6.10.2005, 21:12


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Zero
Дата 6.10.2005, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Ето, как оно... А с массивом не как нельзя, а то я в дальшейшем планирую массив использовать с типом class
PM MAIL ICQ   Вверх
Mayk
Дата 6.10.2005, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Афаир нет(если не рассматривать изобретение велосипедов).
Цитата(Zero @ 7.10.2005, 01:33)
планирую массив использовать с типом class

А что мешает использовать вектор классов а ля vector<MyClass>?


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Zero
Дата 6.10.2005, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Блин, и чем все этот С++ расхваливают... Ничего по человечески нельзя сделать. Вот делфи тама всё просто, написал
Код

SetLength(Mas,<нужный размер>); 

B всё зашибись... А тут всё через ж....у smile
Ладно, буду использовать массив на 1000 элементов...
Но если кто найдёт, альтернативу функции SetLength, то пишите...
И именно с массивами... smile
PM MAIL ICQ   Вверх
Mayk
  Дата 6.10.2005, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата(Zero @ 7.10.2005, 02:08)
И именно с массивами..

А что, вектор чем-то очень сильно отличается от массива? Не так давно уже был спор на тему вектор против массива. Советую посмотреть.


Цитата(Zero @ 7.10.2005, 02:08)
B всё зашибись...

млин, я тебе пример привёл
Код

mas.resize(<нужный размер>)


Можешь realloc юзать, но это си(и соотсно malloc/free вместо new/delete), а не плюсы, и при использовании его в плюсах могут быть серьезные проблемы(operator = и всё такое)


ps. я так и не понял почему vector<Class> не подходит, а Class [] подходит.


Это сообщение отредактировал(а) Mayk - 6.10.2005, 22:19


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Zero
Дата 6.10.2005, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Ладно, буду делать с векторами... smile

Это сообщение отредактировал(а) Zero - 7.10.2005, 08:12
PM MAIL ICQ   Вверх
Helicopterr
Дата 6.10.2005, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 20.8.2005
Где: Stavropol

Репутация: 2
Всего: 3



сперва почитай, потом делай выводы, всё не так уж и "нахрен"


--------------------
people can fly
PM MAIL   Вверх
Mayk
Дата 6.10.2005, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата(Zero @ 7.10.2005, 02:26)
Зачем из языка помойку делают и потом доказывают что он лучше делфи,

Кто? Где? делают помойку? Нет никакой помойки.

Как бы ни было язык С++ не могут любить за то, что он походит на делфи. Это я к
Цитата(Zero @ 7.10.2005, 02:26)
А зачем в этот С++ понавтыкали однотипных команд? Зачем из языка помойку делают и потом доказывают что он лучше делфи,

Цитата(Zero @ 7.10.2005, 02:08)
И чем все этот С++ расхваливают...  Вот делфи тама всё просто, написал

Дельфи - это дельфи. С++ - это С++. Хвалить язык за похожесть на другой по крайне мере не разумно. По крайне мере в контексте с/паскаль.

Цитата(Zero @ 7.10.2005, 02:26)
А нахрен, в этот С++ понавтыкали однотипных команд?

Цитата(Zero @ 7.10.2005, 02:08)
А тут всё через ж....у

"К проклятьям не прибегну и сдержусь" (с)
Просто посоветую выбирать выражения.


Цитата(Zero @ 7.10.2005, 02:26)
Ладно, прочитаю ка я главу про векторы потом муду думать как дальше поступать...

По-моему это гораздо лучше, чем не зная языка кричать "язык - ацтой, в нем setsize'а нет".

Это сообщение отредактировал(а) Mayk - 6.10.2005, 22:42


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
bel_nikita
Дата 6.10.2005, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 21
Всего: 47



smile Zero
Цитата
А нахрен, в этот С++ понавтыкали однотипных команд? Зачем из языка помойку делают и потом доказывают что он лучше делфи, ссылаясь на то что тут можно делать много тупых вещей, глобально запутанных, нарушающих хороший стиль программирования
нахрен, нахрен ....
А чего тогда из Делфи в этот С++ лезешь? smile Сиди в своих Делфях и радуйся жизни smile

Цитата
B всё зашибись... А тут всё через ж....у
скорее руки не так заточены

З.Ы.: учимся пользоваться поиском

З.Ы.Ы.: тему в мусорку




--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
Neitron
Дата 7.10.2005, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



Блин чо реально было спор вектор vs массив?
Вектор и есть массив.!!!!
Он практически ничем не отличается от массива.
Если судить по свойсвам. Свойсва массива в том что все элементы расположены друг за другом.
Код

mas = new int[2];
//тогда mas[0] сотрётся и её надо заново вводить

У тебя ничего не сотрется. Стирается после выполнения delete
У тебя mas будет указывать уже на новую память. И ПРОИЗОЙДЕТ УТЕЧ КА ПАМЯТИ.
Си всегда рвал Дельфи как шарик грелку.

Я не помню чтобы хоть один нормальный проект писали на дельфях.

Это сообщение отредактировал(а) Neitron - 7.10.2005, 09:43


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
Mayk
Дата 7.10.2005, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата(Neitron @ 7.10.2005, 13:39)
Блин чо реально было спор вектор vs массив?

http://forum.vingrad.ru/index.php?showtopi...w=all&hl=vector
вот здесь немного было. Совсем чуть-чуть, но было.

Цитата(Neitron @ 7.10.2005, 13:39)
Я не помню чтобы хоть один нормальный проект писали на дельфях.

Хех, не советую говорить подобное в разделе по дельфи. Уверен, у них подготовлена бумажка, на которой записаны названия программ написанных на дельфях. smile

Это сообщение отредактировал(а) Mayk - 7.10.2005, 09:52


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Neitron
Дата 7.10.2005, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



Цитата
Уверен, у них подготовлена бумажка, на которой записаны названия программ написанных на дельфях.

ГЫыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы=)


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
En_t_end
Дата 7.10.2005, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2074
Регистрация: 4.12.2004

Репутация: 1
Всего: 20



Mayk
Цитата(Mayk @ 7.10.2005, 02:14)
Можешь realloc юзать, но это си(и соотсно malloc/free вместо new/delete), а не плюсы, и при использовании его в плюсах могут быть серьезные проблемы(operator = и всё такое)

Не вижу проблем. Перевыделение или добавление памяти под массив - это нормальная практика... кстати в тестах по С++, бывает проскакивает такой вопрос.
Zero
Цитата(Zero @ 7.10.2005, 00:53)
Хорошо бы если за место функции new была бы функция редактирования кол-ва элементов, как в делфи с помощью функции SetLength можно устанавливать в любой момент времени нужнок кол-во элементов.

Дело в том, что этот SetLenght 100% был написан на Си, причем на основе того же realloc, но, используя скорее всего тучу лишних действий.

ЗЫ товарищ Zero, если вы будете продолжать "хаять" С++, то я думаю скоро вам вообще здесь перестанут помогать.
Либо критикуйте конструктивно, либо не критикуйте вовсе.
Цитата(Zero @ 7.10.2005, 02:08)
Блин, и чем все этот С++ расхваливают... Ничего по человечески нельзя сделать. Вот делфи тама всё просто, написал

"Тама" у "васа" в "Дельфя" в "тома" и проблема, что все "така" "проста".
PM MAIL ICQ Skype GTalk Jabber   Вверх
Mayk
Дата 7.10.2005, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Цитата(En_t_end @ 7.10.2005, 16:47)
Не вижу проблем.

Проблема раз - не всякий класс можно просто так взять и сдвинуть(например, к которому обращаются извне). Другой вопрос что такой класс делает в массиве, но ситуацию придумать можно.

Проблема два - realloc(по Святому Стандарту) вовсе не обязан вызывать ::operator new для выделения памяти. В частности это значит, что если мы перегрузим new/delete(зачем - обсуждается в соседней ветке), то у нас будут проблемы - delete получит указатель не от new.
Привет, дебагер.


Цитата(En_t_end @ 7.10.2005, 16:47)
Дело в том, что этот SetLenght 100% был написан на Си

Из Small C был получен C. Не знаю насчёт дельфи, но имхо он вполне мог быть написан на пасе.
Менеджер памяти имхо написать на дельфях можно. Ф-ция по аллоканию памяти есть в оси.
А если учесть тот факт, что существуют оси написанные на пасе, то очень вероятно предположить, что setlength мог быть написан не на си.


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Zero
Дата 7.10.2005, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(En_t_end @ 7.10.2005, 12:47)
ЗЫ товарищ Zero, если вы будете продолжать "хаять" С++

Зи товарищ En_t_end, вы не так поняли... я не хаю С++, а просто мои ожидания о нём немного меньше чем я себе представлял...
Тут трудно как то и запутанно он воспринимается...
Вот в делфи там я до некотрых функций дошол методом тыка, не читая литературы, а тут глюки начались с того, когда мне сказали что есть функция ShowMessage, но я как ради практики не старался её записать с учётом регистров, и пол часа до меня доходило что здесь, т.е. С++ чувствительный к регистру...
Учить начал, чисто из-за того что по ООП курсачи заставили делать именно на С++, а так на Делфи то я бы его часа за 3 сделал...

Цитата(Neitron @ 7.10.2005, 09:39)
Вектор и есть массив.!!!!

Неверно... Я сегодня прочитал главу про векторы, и понял их отличия:
размер массива можно определять один раз, но удобен массив тем что в пошаговом режиме его можно просматривать.
Размер вектора можно изменять динамически на любом шаге выполнения программы, но недостаток который я заметил, то что в пошаговом режиме он не показывает свои значения, хотя в документации, написано что работать с ним можно как с обычным массивом (но это наверно имеется ввиду чисто использование операторов, а не всё остальное)
PM MAIL ICQ   Вверх
bel_nikita
Дата 8.10.2005, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: 21
Всего: 47



Zero
Цитата
Неверно... Я сегодня прочитал главу про векторы, и понял их отличия:
размер массива можно определять один раз, но удобен массив тем что в пошаговом режиме его можно просматривать.
Размер вектора можно изменять динамически на любом шаге выполнения программы, но недостаток который я заметил, то что в пошаговом режиме он не показывает свои значения, хотя в документации, написано что работать с ним можно как с обычным массивом (но это наверно имеется ввиду чисто использование операторов, а не всё остальное)

для векторов все тоже самое, что и для динамического массива

для векторов истино: &v[i] == &v[0] + i


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
Earnest
Дата 8.10.2005, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Цитата(Zero @ 7.10.2005, 23:34)
то что в пошаговом режиме он не показывает свои значения,

Просто его надо как следует попросить. Формат просьбы зависит от используемой библиотеки.


--------------------
...
PM   Вверх
Void
Дата 8.10.2005, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Цитата(Zero @ 8.10.2005, 01:34)
Неверно... Я сегодня прочитал главу про векторы, и понял их отличия:
размер массива можно определять один раз, но удобен массив тем что в пошаговом режиме его можно просматривать.
Размер вектора можно изменять динамически на любом шаге выполнения программы, но недостаток который я заметил, то что в пошаговом режиме он не показывает свои значения, хотя в документации, написано что работать с ним можно как с обычным массивом (но это наверно имеется ввиду чисто использование операторов, а не всё остальное)

Очень хотелось бы знать, что ты читаешь, раз там именно на такие, пардон, "различия", упор сделан.
Я так и не понял, что это за вредные векторы такие, значения не показывают smile Если имеются в виду визуальные отладчики. то дебаггеры VC++ 7.1 и 8.0 (последний - просто smile) прекрасно умеют с ними работать.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Zero
Дата 8.10.2005, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Void @ 8.10.2005, 17:08)
Я так и не понял, что это за вредные векторы такие, значения не показывают

Пример говориш, нужен smile ... Вот держи, вчера на нём икспириминтировал:
Код

vector<int> s(3);
  s[0]=0;
  strcpy(st,IntToStr(s[0]).c_str());  //с помощью этих штук пришлось убеждатся что присваивание работает
  s[1]=1;
  strcpy(st,IntToStr(s[1]).c_str());

Добавлено @ 19:09
В Watch List заношу вот такое значение:
Код

s[0]

И там в вотч листе при выполнении этой команды показывается такое сообщение: smile
Код

s[0]: E2382 Side effects are not allowed


Это сообщение отредактировал(а) Zero - 8.10.2005, 19:06
PM MAIL ICQ   Вверх
Void
Дата 8.10.2005, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Zero
М-м... ну что ж, правда ваша, напрямую добавить в Watch List такое выражение не получается. Правда, лично я никогда не испытывал в этом необходимости, Autos в VC++ мои потребности, как правило, покрывали с лихвой.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Zero
Дата 8.10.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Вот и я то про что...
PM MAIL ICQ   Вверх
Earnest
Дата 9.10.2005, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Zero
Если у тебя STL-port 5.0, то содержимое вектора посмотреть в Watch можно так:
// 10 первых элементов
MyVec._M_impl._M_start,10
// число элементов
MyVec._M_impl._M_finish - MyVec._M_impl._M_start
и т.д.

Если STL-port предыдущих версий или не port, то все то же самое, но без _M_impl. Хотя возможны варианты, в зависимости от реализации STL. Это легко посмотреть - в отладчике раскрой переменную MyVec и посмотри, что внутри.

Со списками и прочими мэпами хуже, в некоторых реализациях можно заглянуть внутрь узла, в других - видны только базовые члены.
Но, как уже сказал Void, в этом редко бывает необходимость. В конце концов, выведи отладочную информацию с помощью OutputDebugString (наверняка и в Борланде есть какие-нибудь команды-оболочки)


--------------------
...
PM   Вверх
Zero
Дата 9.10.2005, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Earnest @ 9.10.2005, 11:49)
Но, как уже сказал Void, в этом редко бывает необходимость.
Хмм... smile , у тех кто с этим не работает, у тех редко. А если я с этим работаю, то мне нужна.
Цитата(Earnest @ 9.10.2005, 11:49)
В конце концов, выведи отладочную информацию с помощью


Цитата(Zero @ 8.10.2005, 19:05)
vector<int> s(3);
  s[0]=0;
  strcpy(st,IntToStr(s[0]).c_str());  //с помощью этих штук пришлось убеждатся что присваивание работает


PM MAIL ICQ   Вверх
Void
Дата 9.10.2005, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



Цитата(Zero @ 9.10.2005, 15:02)
Хмм... smile , у тех кто с этим не работает, у тех редко. А если я с этим работаю, то мне нужна.

Вектора использую направо и налево. Но чтобы приходилось контролировать в процессе отладки какой-то конкретный элемент smile
Цитата(Zero @ 9.10.2005, 15:02)
//с помощью этих штук пришлось убеждатся что присваивание работает

Настолько сомневаешься в способностях авторов реализации STL? smile


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Zero
Дата 9.10.2005, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: нет
Всего: 24



Цитата(Void @ 9.10.2005, 15:34)
Настолько сомневаешься в способностях авторов реализации STL?
Да нет, говорю же с С++ только неделю сижу. smile smile
PM MAIL ICQ   Вверх
Earnest
Дата 10.10.2005, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Цитата(Zero @ 9.10.2005, 13:02)

vector<int> s(3);
  s[0]=0;
  strcpy(st,IntToStr(s[0]).c_str());  //с помощью этих штук пришлось убеждатся что присваивание работает


Проверка присваивания - это круто. Однако бывают менее тривиальные случаи, когда неплохо бы заглянуть внутрь.
Я, собственно, имела в виду что-то вроде
Код

TRACE(_T("v[0]=%d\n"),v[0]);

Все это выводиться на панель output в процессе выполнения программы.
Но это VC (MFC), а у Борланда могут быть другие слова. Ищи в хелпе про отладочную печать.



--------------------
...
PM   Вверх
ZeroDivide
Дата 26.10.2005, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.8.2005

Репутация: 0
Всего: 1



С++ [censored34! Пожалуйста, соблюдайте элементарные правила приличия при общении на форуме], нахрен его smile
Даёшь Delphi и Free Pascal!
PM MAIL   Вверх
Neitron
Дата 26.10.2005, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



С++ для умных, которым не лень разбираться.


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
Лыжа
Дата 26.10.2005, 23:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код


int  *setlenth(int *a,int n)
{
    int *tmp=a;
    for(int i=0;i<n;i++,a++);
    *a='\0'; 
    return tmp;



что то типо того,не коmпилил ,но маст ворк.Идея вощем ясна я думаю.
  Вверх
Neitron
Дата 27.10.2005, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 580
Регистрация: 3.10.2005
Где: Москва

Репутация: 2
Всего: 5



Хрень.
Будет ошибка о нарушении доступа к памяти.


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1684 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.