Здравствуйте, Аноним, Вы писали:
А>Скорость работы с такими массивами int i[100] и vector<int> iv различается в дестяки раз.
Исходя из вопроса, используется всё таки массив, созданный через new, а это уже совсем не то же самое что массив, созданный на стеке.
Скорость работы не отличается (да и не с чего ей отличаться). А вот скорость создания/уничтожения — тут да, но опять таки, используется массив, выделяемый через стандартный new, так что, скорей всего, правильный вектор будет быстрее элементарно за счёт использования правильного аллокатора.
А>А памяти лишней сколько жрется.
А сколько? Динамическое выделение предполагает относительно большой объём, так что на служебные данные вектора вроде размера и т.п. (собственно sizeof(vector)) можно не обращать внимания. Конечно, если вектор не будет зарезервирован, возможно памяти будет использовано больше. Но размер тебе известен, так что reserve в руки...
Re[7]: Не запретить ли анонимов и в профильных форумах?
А>А почему нельзя, что-ли. Чем такие массивы провинились.
А, т.е. вы не понимаете разницу между вектором и встроенным массивом? Ну-ну.
А>Давайте, говрите, что-то типа — ай-ай как мы были не правы. — Это полезно, на самом деле.
Уговорили. Ай-ай, как вы были не правы.
Of course, the code must be complete enough to compile and link.
Re[8]: Не запретить ли анонимов и в профильных форумах?
От:
Аноним
Дата:
07.04.09 07:37
Оценка:
Здравствуйте, Lorenzo_LAMAS, Вы писали:
А>>Давафате дебангалориться, пора уже...
L_L>Это вы на вашем родном, индусском?
Тафайте-тафайте, я уже заждался.
Re[4]: Инициализация массива при создании его через new
хехе, но с другой стороны, вопрос о списке инициализации, так что массив предположительно небольшой, тогда зачем нужен new?
Re[6]: Инициализация массива при создании его через new
От:
Аноним
Дата:
07.04.09 07:42
Оценка:
Здравствуйте, catBasilio, Вы писали:
А>>О люди, хочу что-бы народ извинился.
А>>
А>>... многа бреда поскипано.
А>>
Бреда? : ) Люди, ну остановитесь же — вы невладете вопросом, это был релиз... Представляю как Вы огорошены. Но я рад....
Я такой злой, так как меня однажды один из тутошних завсегдатаев-умники завалил на тестировании при преме на работу — теперь я отигрываюсь. Типа изобразал из себя умного — и знающего нечто неведомое простым смертным — ТЕМПЛЕЙТЫ....
Re[5]: Инициализация массива при создании его через new
Этот код тоже не то делает. Да ещё и тормозной, к тому же...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: Инициализация массива при создании его через new
Здравствуйте, Аноним, Вы писали:
А>очень смешно — но как Вы себе представляете отличить один ноль от другого? '0' — вот этот ноль уж будьте любезны трактовать как 0 интовый, а вот этот '0' , как указатель на 0x123412344321AB00 ...
Ну стандарт почитай...
Я же говорю, что ты С++ плохо знаешь... А>Вперед.
Чисто для справки. Всё что ниже -- валидно...
void foo( void* );
void foo( int );
void bar()
{
int i = 0;
int* p = 0;
void (*Pf)( int ) = foo;
}
А>Стратус пишет книжки для чайников, Вы чайники?
Обычно неаккуратное использование кванторов всеобщности характерно для недоучек...
А что касается автора С++, то он разные книжки написал и пишет. Некоторые вовсе и не для чайников. Хотя я лично по языку С++ справляюсь в стандарте, чего и тебе советую.. Например изучить что там написано про нулевые указатели (как в стандарте С, так и в стандарте С++)
E>>Страуструп, кстати, вряд ли идиот, в отличии от некоторых коллег... А>Да, не идиот, я не прав. Извини Статус.
Так ты ещё и со "Статусом" беседуешь? Бывает...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: Инициализация массива при создании его через new
Здравствуйте, Аноним, Вы писали:
А>О люди, хочу что-бы народ извинился.
О Аноним!
1) Зарегься
2) Иди потом в народ...
А вообще-то std::vector не умеет хранить буфер в объекте. Это массив в динамической памяти, то есть аналог new int[0x1000]... а вовсе и не автоматического массива...
Если уж меряться, то честно, а то сравнил, понимаешь, попу с пальцем...
Кстати, опции компилятора были какие?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[7]: Инициализация массива при создании его через new
Здравствуйте, Аноним, Вы писали:
А>Я такой злой, так как меня однажды один из тутошних завсегдатаев-умники завалил на тестировании при преме на работу — теперь я отигрываюсь. Типа изобразал из себя умного — и знающего нечто неведомое простым смертным — ТЕМПЛЕЙТЫ....
А что, на заботать ТЕМПЛЕЙТЫ кебы не хватило?
Тоже мне, нашёл чем хвастаться...
Таки, кстати, что за опции-то у компилятора были?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: Инициализация массива при создании его через new
Здравствуйте, sokel, Вы писали:
S>хехе, но с другой стороны, вопрос о списке инициализации, так что массив предположительно небольшой, тогда зачем нужен new?
В чём суть проблемы топикстартера я тоже не понимаю...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[5]: Инициализация массива при создании его через new
Здравствуйте, Аноним, Вы писали:
А>Нет, я все глупости найду и ткну — ребята, а вы случайно на работу принимая народ не тестируете? С такими знаниями, эх... жуть, куда страна катится!!!
А>
А> int *i=new int(0x33);
А>
А>Прекрасно работает.
Что-то мне таки кажется, что я бы тебя тоже завернул
1) Не умеешь себя вести.
2) При этом очень невнимательный и не понимаешь что у тебя спросили...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[8]: Инициализация массива при создании его через new
От:
Аноним
Дата:
07.04.09 07:59
Оценка:
Здравствуйте, Erop, Вы писали:
А>>Стратус пишет книжки для чайников, Вы чайники? E>Обычно неаккуратное использование кванторов всеобщности характерно для недоучек... E>А что касается автора С++, то он разные книжки написал и пишет. Некоторые вовсе и не для чайников. Хотя я лично по языку С++ справляюсь в стандарте, чего и тебе советую.. Например изучить что там написано про нулевые указатели (как в стандарте С, так и в стандарте С++)
E>>>Страуструп, кстати, вряд ли идиот, в отличии от некоторых коллег... А>>Да, не идиот, я не прав. Извини Стратус. E>Так ты ещё и со "Статусом" беседуешь? Бывает...
ЕРОП, идите в политику, там вас заждались... И там демогогте.
Стандарт описывает не существующий указатель. И не описывает что это должно быть 0... Все мне надо работать, а не заниматься выигрыванием спров... Я уже получил удовольствие, от того что показал скриптовикам с векторами того что они не знали но проверяли знания у людей при приеме на работу. Выграть спор не есть моя цель, поэтому не старайтесь, я обязательно буду применять стандарные ходы, не позволяющие выграть спор будучи не правым. А вообще, скажите, вам что делать нечего? Если вы постоянно сползаете на демагигию?
Все всё поняли.
Re[5]: Инициализация массива при создании его через new
Здравствуйте, Аноним, Вы писали:
А>Поэтому вектора и прочий шит не подходит — медленно.
Не понятно. По идее вектор же может зарезервировать место, и потом его не менять уже. Ты всякие там insert/erase не зови просто и не добавляй больше, чем зарезервировал...
Правда у std::vector есть другие косяки и проблемы с производительностью, ну так массивов-то куча просто под С++ написали уже...
Но это всё не про то. Ты что-то про инициализацию говорил?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[9]: Инициализация массива при создании его через new
Здравствуйте, Аноним, Вы писали:
А>Стандарт описывает не существующий указатель. И не описывает что это должно быть 0...
Цитаты привести не затруднит?
А>Все мне надо работать, а не заниматься выигрыванием спров...
Ну слил, так слил... Хамить было не обязательно...
А>А вообще, скажите, вам что делать нечего? Если вы постоянно сползаете на демагигию?
Э-э-э? Ты про это?
очень смешно — но как Вы себе представляете отличить один ноль от другого? '0' — вот этот ноль уж будьте любезны трактовать как 0 интовый, а вот этот '0' , как указатель на 0x123412344321AB00 ...
Вперед.
Стратус пишет книжки для чайников, Вы чайники?
А>Все всё поняли.
Уже давно...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[6]: Инициализация массива при создании его через new
От:
Аноним
Дата:
07.04.09 08:06
Оценка:
Здравствуйте, Erop, Вы писали: А>>Нет, я все глупости найду и ткну — ребята, а вы случайно на работу принимая народ не тестируете? С такими знаниями, эх... жуть, куда страна катится!!! А>>
А>> int *i=new int(0x33);
А>>
А>>Прекрасно работает.
E>Что-то мне таки кажется, что я бы тебя тоже завернул E>1) Не умеешь себя вести. E>2) При этом очень невнимательный и не понимаешь что у тебя спросили...
Ага, юлим — рыба редкой породы, обладает удивительным свойством вылезать из ловушек расставленных рыбаками.
Re[7]: Инициализация массива при создании его через new
Здравствуйте, Аноним, Вы писали:
А>Ага, юлим — рыба редкой породы, обладает удивительным свойством вылезать из ловушек расставленных рыбаками.
Самокритичный, ты наш!!!
Топик посвящён инициализации аллокируемого по new МАССИВА!!!
Ферштейн?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском