Недавно пытался пройти собеседование и прислали в качнстве теста задачу по STL. Вот и возник вопрос: где сейчас применяется STL? Я имею в виду применение в реальных проектах, а не институтских лабораторных работах .
Большая просьба при ответе на вопрос не обвинять меня в непонимании глубины глубин STL, а просто ответить на вопрос примерно в таком виде:
--необходимо в задаче сделать то-то и то-то
--используется STL потому-то и потому-то
Заранее всем спасибо за ответы.
Re: Где используется STL
От:
Аноним
Дата:
07.09.06 19:31
Оценка:
Здравствуйте, londinium, Вы писали:
L>Здравствуйте, Господа!
L>Недавно пытался пройти собеседование и прислали в качнстве теста задачу по STL. Вот и возник вопрос: где сейчас применяется STL? Я имею в виду применение в реальных проектах, а не институтских лабораторных работах . L> Большая просьба при ответе на вопрос не обвинять меня в непонимании глубины глубин STL, а просто ответить на вопрос примерно в таком виде: L>--необходимо в задаче сделать то-то и то-то L>--используется STL потому-то и потому-то
L>Заранее всем спасибо за ответы.
> 70 % классов в реальном проекте имеют в качестве полей stl-ные контейнеры. строки повсеместно — std::basic_string. Алгоритмы и функцторы в 20% методов.
Здравствуйте, londinium, Вы писали:
L>Здравствуйте, Господа!
L>Недавно пытался пройти собеседование и прислали в качнстве теста задачу по STL. Вот и возник вопрос: где сейчас применяется STL? Я имею в виду применение в реальных проектах, а не институтских лабораторных работах . L> Большая просьба при ответе на вопрос не обвинять меня в непонимании глубины глубин STL, а просто ответить на вопрос примерно в таком виде: L>--необходимо в задаче сделать то-то и то-то L>--используется STL потому-то и потому-то
L>Заранее всем спасибо за ответы.
Да во многих современных проектах, т.к. к данному моменту многие (не все) уже отучились от велосипедов и/или понабивали шишки на своих самопальных библиотеках. Вот, например, boost используется меньше — не все еще распробовали. А некоторые по старинке знают только strcpy, и хоть ты тресни и 100 раз ссылайся на именитых авторов — как об стену горох...
Есть хороший мини-диалог, проясняющий отношение таких "гуру" к современным достижениям (не знаю авторства):
— У меня 30 лет опыта.
— Нет, у вас годовой опыт, повторенный 30 раз...
Здравствуйте, londinium, Вы писали:
L>Здравствуйте, Господа!
L>Недавно пытался пройти собеседование и прислали в качнстве теста задачу по STL. Вот и возник вопрос: где сейчас применяется STL? Я имею в виду применение в реальных проектах, а не институтских лабораторных работах . L> Большая просьба при ответе на вопрос не обвинять меня в непонимании глубины глубин STL, а просто ответить на вопрос примерно в таком виде: L>--необходимо в задаче сделать то-то и то-то L>--используется STL потому-то и потому-то
L>Заранее всем спасибо за ответы.
Кроссплатформенная стандартная библиотека.
Вы знаете другую такую???
Могу сказать к примеру где мы её не использовали... Проект был полностью на QT. Там тимлид был против использования чего либо другого. Помню как я что то нашкрябал на stl — заставил переписать на QT Я тогда даже обиделся на него — но стерпел
Но то целый фреймворк...
Если у вас такого нет — то юзать stl — доктор прописал
С уважением Denys Valchuk
IMHO чем больше мнений тем оптимальней выбор варианта... :)
Здравствуйте, londinium, Вы писали:
L>Здравствуйте, Господа!
L>Недавно пытался пройти собеседование и прислали в качнстве теста задачу по STL. Вот и возник вопрос: где сейчас применяется STL? Я имею в виду применение в реальных проектах, а не институтских лабораторных работах . L> Большая просьба при ответе на вопрос не обвинять меня в непонимании глубины глубин STL, а просто ответить на вопрос примерно в таком виде: L>--необходимо в задаче сделать то-то и то-то L>--используется STL потому-то и потому-то
L>Заранее всем спасибо за ответы.
Странный вопрос.
А вообще зачем нужны векторы, списки, и другие структуры данных?
Ты бы еще спросил зачем нужны int с double
Возми, к примеру, вектор и прикинь зачем он тебе нужен.
std::vector нужен для того же самого.
А использование стандратных реализаций означает надежность и предсказуемость.
Надежность и предсказуемость и на реальных проектах не помешает
Здравствуйте, londinium, Вы писали:
L>Здравствуйте, Господа!
Господа в Париже!
L>Недавно пытался пройти собеседование и прислали в качнстве теста задачу по STL. Вот и возник вопрос: где сейчас применяется STL? Я имею в виду применение в реальных проектах, а не институтских лабораторных работах.
Jonathan Caves, разработчик VC, говорил здесь что они используют STL в компиляторе.
Здравствуйте, londinium, Вы писали:
L>Здравствуйте, Господа!
L>Недавно пытался пройти собеседование и прислали в качнстве теста задачу по STL. Вот и возник вопрос: где сейчас применяется STL? Я имею в виду применение в реальных проектах, а не институтских лабораторных работах . L> Большая просьба при ответе на вопрос не обвинять меня в непонимании глубины глубин STL, а просто ответить на вопрос примерно в таком виде: L>--необходимо в задаче сделать то-то и то-то L>--используется STL потому-то и потому-то
L>Заранее всем спасибо за ответы.
STL это часть C++. Отсюда следует. что не знать STL означает не знать C++.
Здравствуйте, londinium, Вы писали:
L>Недавно пытался пройти собеседование и прислали в качнстве теста задачу по STL. Вот и возник вопрос: где сейчас применяется STL? Я имею в виду применение в реальных проектах, а не институтских лабораторных работах .
Дорога в тысячу ли начинается с одного шага (с институтских лабораторных работ)
L> Большая просьба при ответе на вопрос не обвинять меня в непонимании глубины глубин STL, а просто ответить на вопрос примерно в таком виде: L>--необходимо в задаче сделать то-то и то-то L>--используется STL потому-то и потому-то
Необходимо обеспечить кроссплатформенность (проект под Win32, WinCE и VxWorks). Вместо MFC или самодельных велосипедов были использованы стандартные контейнеры.
Необходимо реализовать типичные алгоритмы (поэлементное копирование, сортировка, приоритетная очередь). Вместо переписывания циклов использованы стандартные алгоритмы.
Решения разнообразных задач были найдены в библиотеке boost, которая сохраняет стиль STL. Естественно, что ответная часть (рукодельные функции, алгоритмы и т.д.) также выполнена в стиле STL.
STL — это очень низкоуровневые детальки. Только на STL ты большую программу не напишешь, естественно — поэтому и возникает иллюзия, что это всё баловство лабораторное.
Но когда от архитектурного замысла спускаешься непосредственно до написания кода — вот тут детальки и пригождаются. Как мышка или лягушка Ивану-царевичу.