Форум программистов, компьютерный форум CyberForum.ru

String для коротких строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача Timus http://www.cyberforum.ru/cpp-beginners/thread932807.html
Почему не проходит тест? Может кто знает? http://acm.timus.ru/problem.aspx?space=1&num=1001 #include <vector> int main() { std::vector<int> v;
C++ Универсальный класс для строк Здорова господа! Есть задачка "Подумайте как можно спроектировать идеальный класс для универсальной работы с текстами. Назовите его Text. Какими он будет обладать возможностями? Какую нагрузку на реализацию вызовут ваши «идеальные» средства?" Давайте ее хотя бы теоретически мб решим? http://www.cyberforum.ru/cpp-beginners/thread932803.html
C++ перевод строки CHAR
Добрый день уважаемые форумчане) Пишу в IARе под AVR столкнулся с проблеммой вычесть из строки лишние символы. к примеру приведу такой код void SHOW_TEXT(char *text, int color, int colors, int fon) { char *sk; nlcd_Box(0, 0, 132, 132, 1, fon); sk=text; nlcd_Text(sk,10,5,color,fon);
Не разбиваются шаблоны класса на файлы C++
Всем привет. Изучаю С++, всегда разбивал свои программы на файлы и радовался, но тут начал изучать шаблоны классов, и ничего не выходит, страшные ошибки выдает. Вот написал маленькую пробную программку для этой темы. Вот код: //Class.h ======================================== #include <iostream> #include <time.h> using namespace std; template <typename t> class Array{
C++ Ошибка при попытке подключить внешнюю библиотеку http://www.cyberforum.ru/cpp-beginners/thread932754.html
Делал всё по инструкции, только пути другие. Пишет: Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ __imp__createDevice в функции _main Ошибка 2 error LNK1120: неразрешенных внешних элементов: 1 Гуглёж не помог. Когда-то вроде с glut вылезла такая же проблема, но я не помню, как решил. Пробовал подсовывать и 32-е, и 64-е либы. Пробовал по-всякому, всё одинаково. Ещё пробовал...
C++ Алгоритмы сжатия Доброго всем времени суток. Интересует такой вопрос. Можете посоветовать какую-нибудь подробную литературу по алгоритмам сжатия данных на с++ ? Меня интересуют именно варианты алгоритмов сжатия, дабы попытаться "собрать" собственный алгоритм без использования готовеньких zlib-овских библиотек. Заранее спасибо. подробнее

Показать сообщение отдельно
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
03.08.2013, 12:23  [ТС]     String для коротких строк
Убежденный, Ну смотри, а если мы просто для обычного класса, с не определенной длинной строки, определим ему строку не больше допустим 8 символов, будем просто явно проверять size() чтобы было 8 и менье, то что можно сказать что это будет класс string для коротких строк? (он наверно не будет если будет 8 символов и мы запишет 3 символа, то если будет перевыделение памяти под 3 символа, то это значит что оптимизации не будет.)

И что понимать под не выделение памяти? От допустим у нас есть тип short_string и тип string в short_string всегда выделена память под 8 символов, если мы делаем так short_string short("hel"); то просто память под 8 символов выделяется потом мы просто operator= вызываем short="privet", то память не выделяется, а просто происходит перезаписывание в выделеную ячейку для 8 символов. Правильно понимать нужно это считается оптимизация? Ну если подумать, то время будет уменьшатся за счет того что память только раз выделяется.

А теперь давай string разберем, там по идее должно каждый раз перевыделятся память, просто если у нас будет строка на 1к символов и мы туда запишем строку на 2 символа, зачем же перерасход памяти? Конечно наверняка будет заново выделена память под два символа. Этот тип по времени должен работать дольше за счет перевыделения памяти.

И вообще под оптимизацией для коротких строк, что нужно понимать? Выделяется ли повторно память или не выделяется? Допустим для 10 символьной строки и меньше память не будет повторно выделяться а будет перезаписываться, а для больших символов будет выделятся и снова если со строки в 1к мы будем делать строку 2 символа, то память выделится для 10 символов, как бы для коротких строк. Если так будет себя вести класс, то это можно считать, что класс оптимизирован? Просто интересно что под этим понимают. Смысл интересно понять.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru