- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
wstring& delphi::IntToStr(int integer, wstring& str)
{
if (0 == integer)
return str = L"0";
str.clear();
wstring sign(L"");
if (integer < 0)
{
sign = L"-";
integer = -integer;
}
else
sign = L"";
while (integer >= 1)
{
str.push_back( (integer % 10) + 48 );
integer /= 10;
}
str += sign;
std::reverse(str.begin(), str.end());
return str;
}
Elvenfighter 03.07.2014 17:26 # 0
http://ideone.com/J73cEE
defecate-plusplus 03.07.2014 17:37 # +2
Elvenfighter 03.07.2014 18:01 # 0
http://ideone.com/DfTD5o
А как тут будет оптимальнее?
defecate-plusplus 03.07.2014 18:03 # +3
boost::format
boost::lexical_cast
std::to_string
boost::spirit::karma
причем, первый может быть даже медленнее stringstream
второй, четвертый - однозначно быстрее
третий - как производитель компилятора уж реализует
bormand 03.07.2014 19:19 # +3
Xom94ok 03.07.2014 19:45 # +1
(Видимо, d++ снова приоткрывает перед смертными подробности его нового стандарта цпп...)
kegdan 03.07.2014 20:00 # +2
defecate-plusplus 03.07.2014 20:22 # +12
стыдно не знать
laMer007 05.07.2014 17:52 # 0
1024-- 05.07.2014 19:26 # 0
kegdan 05.07.2014 19:33 # +1
absolut 06.07.2014 09:29 # +2
kegdan 05.07.2014 19:30 # 0
Abbath 06.07.2014 12:31 # +4
absolut 04.07.2014 06:25 # 0
defecate-plusplus 04.07.2014 09:14 # +3
bormand 04.07.2014 09:32 # 0
Так что логичное решение ;)
absolut 04.07.2014 10:31 # 0
blackhearted 04.07.2014 12:34 # −3
Ну и хер, что медленный?
Очередной байтойоб?
defecate-plusplus 04.07.2014 12:46 # +3
продолжай писать велосипедный IntToStr
IntToStr сам себя не напишет
bormand 04.07.2014 13:13 # +3
absolut 04.07.2014 13:17 # +2
defecate-plusplus 04.07.2014 14:24 # +3
в принципе, 1.46 не такое уж и древнее старье, уж лехикал_цаст там точно есть, и даже (господи-помилуй) спирит 2.х
думаю, даже некое подмножество в 1.55 при особом желании можно собрать и под текущее 32-битное ненужно
а 64-разрядное ненужно, насколько я помню, использует шланг - этот то поддерживается
Xom94ok 04.07.2014 15:25 # +1
libboost_exception-bcb-1_55.lib
libboost_exception-bcb-d-1_55.lib
libboost_exception-bcb-mt-1_55.lib
libboost_exception-bcb-mt-d-1_55.lib
libboost_exception-bcb-mt-s-1_55.lib
libboost_exception-bcb-mt-sd-1_55.lib
libboost_exception-bcb-s-1_55.lib
libboost_exception-bcb-sd-1_55.lib
libboost_random-bcb-1_55.lib
libboost_random-bcb-d-1_55.lib
libboost_random-bcb-mt-1_55.lib
libboost_random-bcb-mt-d-1_55.lib
libboost_random-bcb-mt-s-1_55.lib
libboost_random-bcb-mt-sd-1_55.lib
libboost_random-bcb-s-1_55.lib
libboost_random-bcb-sd-1_55.lib
из хедер-онли:
shared_ptr - хуй
functional - хуй
spirit - qiй
больше ничего не проверял, организм противится
absolut 04.07.2014 15:53 # +1
guest 04.07.2014 15:56 # 0
Xom94ok 04.07.2014 16:31 # 0
при построении самого буста он больше всего ругался на макросы и шаблоны
absolut 06.07.2014 20:39 # 0
Xom94ok 06.07.2014 21:41 # +3
defecate-plusplus 06.07.2014 22:38 # 0
bormand 07.07.2014 06:06 # 0
bormand 04.07.2014 16:06 # 0
> functional - хуй
Ну и нахуй такой кастрированный буст нужен? :(
P.S. А каким билдером собирал?
defecate-plusplus 04.07.2014 16:21 # +2
ну в smart_ptr уже в 1.47 нет ничего для бормланда, чтобы сделать атомик каунтер
а более раннего буста у меня даже нет на компе, и качать влом
Xom94ok 04.07.2014 16:27 # +4
bormand 04.07.2014 16:32 # +2
Xom94ok 04.07.2014 16:37 # +1
brutushafens 04.07.2014 17:39 # +1
absolut 04.07.2014 19:52 # +1
kegdan 04.07.2014 19:59 # +3
А ответ на твой вопрос - в рифме)
laMer007 05.07.2014 17:49 # +2
>> Ни разу не видел с билдера котятами.
Воспользуйся опиатами.
brutushafens 05.07.2014 17:51 # +1
kegdan 05.07.2014 17:56 # 0
brutushafens 05.07.2014 18:06 # −2
Xom94ok 04.07.2014 20:57 # +1
absolut 06.07.2014 20:45 # +2
eth0 06.07.2014 21:04 # +1
chtulhu 07.07.2014 08:00 # 0
bormand 07.07.2014 09:35 # +1
Конечно. Это же шестой ИЕ в мире компиляторов и сред разработки.
brutushafens 07.07.2014 15:25 # −4
chtulhu 08.07.2014 12:21 # +3
enjoy your vendor lock-in
brutushafens 03.07.2014 17:39 # +1
kegdan 03.07.2014 17:45 # 0
defecate-plusplus 03.07.2014 17:51 # +2
музыка для души и для общего развития, а не для посвящения ей всей жизни
вот если бы композиторство получалось, тогда другое дело...
а быть просто исполнителем - не мечта, совсем
bormand 03.07.2014 19:21 # +5
В крестобилдере есть всё, что есть в делфи. Он же вообще делфёвую либу юзает. Емнип, никто не переписывал VCL под кресты, просто ашек нагенерили. Ради этого даже сделали классы, порожденные от TObject волшебными (нельзя запилить на стеке, не работает множественное наследование, зато есть свойства).
P.S. А еще там есть ненавистный __fastcall: "Вызывай метод быстрее, я сказал быстрее, сука!"
brutushafens 03.07.2014 23:34 # −1
inkanus-gray 04.07.2014 00:03 # 0
В TP объекты (тип которых описывался словом object) хранились так же, как и обычные переменные. Было несколько вариантов размещения:
1. В секции данных программы, если переменная глобальная.
2. В стеке, если переменная локальная (объявлена внутри процедуры/функции).
3. В куче, если переменная имеет тип указателя на объект. В этом случае нужно закатывать солнце выделять память под объект вручную.
В Дельфи же добавили альтернативную модель, описываемую словом class, которая сама выделяет память в куче. Т. е. переменная типа class — это не сам объект, а указатель на него.
bormand 04.07.2014 05:39 # +1
Абсолютно все эти __что_нибудь - непортабельная хуйня, которая работает только в данном конкретном компиляторе, и которую лучше никогда не юзать без веской на то причины.
> Делфя вроде, все объекты держит в куче, за исключением интерфейсов.
Ну вот и в дибилдере все, что порождено от TObject, нельзя запилить на стеке, только new, только хардкор.
bormand 04.07.2014 05:48 # +1
Еще как юзает, если их много. Там только первые несколько штук в регистрах передаются.
http://en.wikipedia.org/wiki/X86_calling_conventions#Borland_fastcall
gost 12.07.2014 20:52 # 0
>> ...
>> else
>> sign = L"";
Нахуя? ¯\(°_o)/¯