E>1) А зачем знать что MyTasks -- это set?
К примеру, чтобы понимать что доступ по оператору [] идёт за логарифмическое время.
E>2) А по использованию не видно?
ИМХО в большОм количестве случаев — нет. К примеру — то же самое присваивание выглядит одинаково что для указателей, что для смартпоинтеров что для массивов. Да и контейнеры STL (или им подобные) далеко не всегда можно отличить друг от друга по небольшому куску кода.
E>Имхо лучше вместо Foo и Bar выбрать понятные имена. И разу станет ясно долго это копируется или не очень
Во-1, одно другому не мешает
Префиксы совсем не отрицают понятные имена, а только дополняют их. Кстати, понятное имя всё равно будет содержать слово Array — только не в начале а, возможно, в конце или в середине. Ну а во-2 — всегда выбирать понятные имена это из области идеального кода написанного идеальным программистом — к этому безусловно стоит стремиться, но вот получается пока что далеко не всегда.
E>Ещё, кстати, интересно узнать как ты нотируешь параметры шаблона
E>Ну, там, например, есть у тебя шаблон Array с параметром TElement. Вот ты переменной типа TElement какой префикс даёшь?
x, если совсем неизвестен. Или с конкретным префиксом если шаблон можно инстанцировать только чем-то определённым (контейнером, смартпоинтером и т.п.)
... << RSDN@Home 1.2.0 alpha rev. 717>>
E>>>1) А зачем знать что MyTasks -- это set?
L>>К примеру, чтобы понимать что доступ по оператору [] идёт за логарифмическое время.
ПС>std::set не имеет operator[], он есть у std::map.
Всё верно, но не суть — идея, я думаю, ясна
... << RSDN@Home 1.2.0 alpha rev. 717>>