Информация об изменениях

Сообщение Re[13]: Метапрограммисты надоели от 08.10.2014 16:11

Изменено 08.10.2014 16:15 slava_phirsov

Здравствуйте, alex_public, Вы писали:

_>Это будет нарушение принципов C/C++ — лишние накладные расходы. К тому же зачем оно, если у нас имеется std::array? )


А неявная передача указателя this — не лишние накладные расходы? В ту пору std::array не было, а с std::vector была небольшая проблемка — списков инициализации еще не придумали, и заполнять содержимое контейнера приходилось руками:

vector<string> items;

items.push_back("I'v");
items.push_back("been");
items.push_back("expecting");
items.push_back("you");
items.push_back(",");
items.push_back("mr");
items.push_back("Stroustrup");

call(items);


Сравни с:
string items[] = {"I'v", "been", "expecting", "you", ",", "mr", "Stroustrup"};

call(items); // Опасно, ведь call(), увы, не знает размер переданного массива



_>Не, это другой контейнер, хранящий много экземпляров. А у optional аналогия как раз ближе к какому-нибудь unique_ptr или future. )


Не согласен, на том и остановимся
Re[13]: Метапрограммисты надоели
Здравствуйте, alex_public, Вы писали:

_>Это будет нарушение принципов C/C++ — лишние накладные расходы. К тому же зачем оно, если у нас имеется std::array? )


А неявная передача указателя this — не лишние накладные расходы? В ту пору std::array не было, а с std::vector была небольшая проблемка — списков инициализации еще не придумали, и заполнять содержимое контейнера приходилось руками:

vector<string> items;

items.push_back("I'v");
items.push_back("been");
items.push_back("expecting");
items.push_back("you");
items.push_back(",");
items.push_back("mr");
items.push_back("Stroustrup");

call(items);


Сравни с:
string items[] = {"I'v", "been", "expecting", "you", ",", "mr", "Stroustrup"};

call(items); // Опасно, ведь call(), увы, не знает размер переданного массива
// А если бы знал - было бы безопасно!



_>Не, это другой контейнер, хранящий много экземпляров. А у optional аналогия как раз ближе к какому-нибудь unique_ptr или future. )


Не согласен, на том и остановимся