Booster ты предыдущий пост читал? у меня функция копирования в буфер любых типов, их ВСЕ можно копировать memcpy, а некоторые (арифметические) можно еще и присваиванием, вот я и хочу знать, даст чтото это присваивание, или можно только memcpy
Booster Код (Text): template<typename charT> void save(const std::basic_string<charT>& t) {...} тут ты тоже привел бы и присвоил?
Код (Text): template<typename charT> void save(const std::basic_string<charT>& t) { memcpy(buf,t.c_str(),(t.size()+1)*sizeof(charT)); }
GoldFinch Один оставлял бы только memcopy. Соптимизируют – хорошо, а нет – так 4-8 байт и через memcpy быстро пролезут, ага. Особенно на фоне теперешнего количества пухлософта, агрхъ.
Booster что зачем? в буфер копировать. есть буфер, в него копируются данные различных типов, потом это буфер куда отправляется, и наоборот. желательно использовать 1-2 способа для копирования, чем меньше тем удобнее.
Ну ты немеряно крут. Ты хочешь, чтобы сказали есть ли в стандарте пункт о замене memcpy присваиванием? ^) Я лично такого не видел.
Booster я насчет твоей фразы "У Александреску описан способ определения, является тип стандартным или нет." у меня для этого boost::type_traits+boost::mpl используется
GoldFinch Да понял я, вроде не тупой. Тут такая история, что вообще нет гарантий во что это преобразуется. Как я уже писал, присваивание может преобразоваться в memcpy. Гарантировать может только ассемблерная вставка.