Re[21]: очень сильный C++
От: Piko  
Дата: 01.09.12 00:01
Оценка:
Здравствуйте, Alexéy Sudachén, Вы писали:

AS>>>>И ты узнаешь как глубока кроличья нора. Да именно так. RVO и т.д. Вместо простого указателя.

P>>>ога, простого указателя, который при создании нужно добавить в tls stack, со своим deleter'ом, который раскручивается где-то наверху callstack'а, ога — простым
AS>Ты где-то видел в приведённом примере ручное добавление чего бы то ни было куда бы то ни было? Фантазии покоя не дают?

а я не говорил что его нужно руками добавлять, но простоты это ему не прибавляет
Re[9]: очень сильный C++
От: Piko  
Дата: 01.09.12 00:04
Оценка:
Здравствуйте, Олег К., Вы писали:

ОК> что ты там наворотил и желания разбираться нету. Хочешь сказать что ты сделал все на чистом ANSI C?


на счёт его макроса для действия в конце блока не уверен (я помню он по поводу подобного кода, не раз тему создавал, то на intel что-то отвалится, то ещё что-то),
да и не в нём суть, а такого рода автопул реализовать на чистом C можно. (ну там без TLS, и т.п.)
Re[8]: очень сильный C++
От: Piko  
Дата: 01.09.12 00:07
Оценка: +1
Здравствуйте, Alexéy Sudachén, Вы писали:

AS>Для этого в С++ вообще-то надо смарты не забывать и не встать на грабли когда они хитро будут интерферировать.


что будет, если сохранить где-нибудь выше по callstack'у (либо вернуть) такой autopooled указатель?
Re[21]: очень сильный C++
От: Трололоша  
Дата: 01.09.12 03:29
Оценка:
Здравствуйте, Alexey Sudachen, Вы писали:

AS>>>И чего. Мисье теоретик?

Т>>Ты чего, обиделсо что кто то нашёл способ сделать это проще?

AS>Нет, просто в природе существуют другие компиллеры.

Ты хотел сказать "старые стандарты"
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[16]: очень сильный C++
От: Трололоша  
Дата: 01.09.12 03:29
Оценка: +1
Здравствуйте, Alexey Sudachen, Вы писали:

AS>Бывает иногда такое желание.... но как почитаю форум — сразу проходит.

Не надо лукавить. Оно у тебя "проходит" как толька появляются неудобные вопросы.

AS> Ну вот честно, оно вам надо?

Надо. Раз спрашиваем — значит надо.

AS>Мне тем более.

Значит и тебе тем более надо
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[8]: очень сильный C++
От: Трололоша  
Дата: 01.09.12 03:29
Оценка:
Здравствуйте, Alexey Sudachen, Вы писали:

AS>Для этого в С++ вообще-то надо смарты не забывать

Это называется "не использовать сырые указатели для владения данными".

AS> и не встать на грабли когда они хитро будут интерферировать.

Например? Ну кроме тупых ошибок когда сырой указатель из new суют сразу в несколько смартов на владение.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[16]: очень сильный C++
От: Трололоша  
Дата: 01.09.12 03:29
Оценка: +1
Здравствуйте, Alexey Sudachen, Вы писали:

AS>В мире похоже существует только C++. Всё что можно хоть как-то притянуть в модель уютного плюсового мирка — калька с плюсов. Однако!

Переведи на русский, плз. Я что то не понял что ты хотел сказать.

AS>__Auto_Release { всё созданное в этом блоке будет разрушено }

AS>__Auto_Release всё в созданное на пуле в этой строке кода будет разрушено
AS>__Auto_Ptr(p) { всё кроме p созданное в пуле в этом блоке будет разрушено }
Т.е. вручную таки надо будет scope задавать, помимо языкового scope.

Т>>Нет уж, сделал заявление — будь добр объяснить что ты имеешь в виду. А то как то уж больно непонятно ты выражаешься когда дело доходит до С++ конструкций.

AS>Пипец. Ну вы блин как дети.
Мы тролли. У меня даже дисклеймер есть!

AS>Кто хендлит буфер?

Владеет им, ты имел в виду?
Кто угодно, зависит от того как ты используешь и что тебе с ним делать надо. У меня в ситуации с хэшами обычно на стеке лежит вот такое:
SecureBuffer<BYTE, SHA512::HashSize> hash;
Это библиотечный класс криптолибы который ведёт себя как обычный массив фиксированного размера, но noncopyable и затирает свой буфер в деструкторе.
Вот он владеет буфером. Хэндлит если по твоему.
Вообще в случае с хэшами — размер буфера там фиксированный и известен на этапе компиляции.

AS>>>Я знаю что ты фанат С++. Ты знаешь что мне покласть на догматы.

Т>>Это гнилые отмазки и слив.
AS>Туалет дальше коридору.
А ты, опытный! (тм)
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[18]: очень сильный C++
От: Трололоша  
Дата: 01.09.12 03:29
Оценка:
Здравствуйте, Alexey Sudachen, Вы писали:

AS>И ты узнаешь как глубока кроличья нора. Да именно так. RVO и т.д. Вместо простого указателя.

Именно так. Никаких сырых указателей без владельца бегать не должно.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[10]: очень сильный C++
От: Eugeny__ Украина  
Дата: 01.09.12 21:25
Оценка:
Здравствуйте, зиг, Вы писали:


зиг>>>но а остальное-то, что, тоже базовые знания? рефлекшн, многопоточность? ну ка приведи пример где они могут быть нужны чтоб формы делать


E__>>Когда вижу формы(десктопные), сделанные без использования многопоточности(т.е. "пилим все действия в потоке гуи"), я начинаю очень не любить тех, кто принял решение дать задание писать эту форму человеку, не знакомому с потоками.


зиг>я не про десктоп


А я не телепат, но значение "форма" в программинге — скорее десктопное(хотя, понятно, веб — тоже формы). Потому и указал специально.

Для веб-форм, хотя-бы кому-то в команде, как минимум, неплохо бы знать нюансы класслоадеров, например(если мы про джаву). И понимать, что такое permgen, и почему иногда возникают его нехватки(и, главное, чем они вызваны, и как это устранить). А это уже относится к знанию кишков jvm, и такой человек врядли не будет знать рефлекшн и многопоточность.

Хотя согласен, именно для клепания форм оно нужно опосредованно, хотя, с пониманием нюансов можно не допустить неприятных ошибок.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[21]: очень сильный C++
От: Patalog Россия  
Дата: 02.09.12 07:37
Оценка:
Здравствуйте, Alexéy Sudachén, Вы писали:

[]

AS>Опять же ты бы код внимательно про TLS почитал, прежде чем фигню писать. И желательно не то старьё которое у тебя на винте лежит.


Это стоит понимать как "с тех пор у меня отрос очень сильный С и теперь там все еще лучше"?
Почетный кавалер ордена Совка.
Re[22]: очень сильный C++
От: Alexéy Sudachén Чили  
Дата: 02.09.12 09:13
Оценка:
AS>>Опять же ты бы код внимательно про TLS почитал, прежде чем фигню писать. И желательно не то старьё которое у тебя на винте лежит.
P>Это стоит понимать как "с тех пор у меня отрос очень сильный С и теперь там все еще лучше"?

Нет, это надо понимать как — теперь там этот TLS действительно появился, а не только упоминание о нём ( как и многопоточность). Но ведь чукча не читатель, чукча — писатель.
Re[22]: очень сильный C++
От: Alexéy Sudachén Чили  
Дата: 02.09.12 09:26
Оценка:
AS>>>>И чего. Мисье теоретик?
Т>>>Ты чего, обиделсо что кто то нашёл способ сделать это проще?
AS>>Нет, просто в природе существуют другие компиллеры.
Т>Ты хотел сказать "старые стандарты"

Нет, я не только хотел сказать, но ВСЕГДА говорю. — Существуют ТОЛЬКО компиляторы. Стандарты это фантазия некоторой группы людей о идеальном мире, когда нибудь, где нибудь, частично он даже воплощается в реальность. Однако программист пишущий на стандарте, а не на компиляторе — бесполезен чуть менее чем полностью.

Компилятор, операционка и железка — это реальность данная нам в ощущения, стандарты — теория о том какой реальность хотели бы видеть различные группы людей. Писать на стандарте физически нельзя, он не умеет превращать исходники в исполняемый код.

Безграничная любовь к стандарту и столь же глубокая вера в него — как лакмусовая бумажка, практически однозначный критерий теоретика.
Re[17]: очень сильный C++
От: Alexéy Sudachén Чили  
Дата: 02.09.12 09:43
Оценка:
AS>>В мире похоже существует только C++. Всё что можно хоть как-то притянуть в модель уютного плюсового мирка — калька с плюсов. Однако!
Т>Переведи на русский, плз. Я что то не понял что ты хотел сказать.

Ну, как ты разве не знаешь? Мне вот постоянно говорят что любой полиморфизм стыбрен из С++ и построен на vmt. Любой автоматический контроль за ресурсами упёрт из C++ и является пародией на RAII. Любая структурная обработка ошибок скопирована с C++.... С++ — предок слонов, покупайте, наш C++!

Т>Т.е. вручную таки надо будет scope задавать, помимо языкового scope.


Ну я так понимаю здесь ты scope в ручную не задаёшь да?
Т>SecureBuffer<BYTE, SHA512::HashSize> hash;
Re[23]: очень сильный C++
От: Patalog Россия  
Дата: 02.09.12 14:46
Оценка:
Здравствуйте, Alexéy Sudachén, Вы писали:

[]

AS>Но ведь чукча не читатель, чукча — писатель.


Ну, раз писатель, дарю идею — напиши книжку про свой "фреймворк", типа Modern C Design. соберешь кучу лута, а на форуме будут обсуждать укушенных Sudachén'ом. PROFIT!
Почетный кавалер ордена Совка.
Re[18]: очень сильный C++
От: Piko  
Дата: 02.09.12 16:26
Оценка:
P>>>>>кстати, на счёт этого макроса — а разве нельзя его было сделать через for?
AS>>>>А ты сделай.
P>>>см выше
AS>>Круто. Только это С.
P>http://ideone.com/4cSQN
P>"C99 strict (gcc-4.3.4)"

Это устроит?
http://ideone.com/sPo5k
#include <stdio.h>
char done;
void push(void)
{
    done=0;
    printf("push\n");
}
char next(void)
{
    return !done;
}
void pop(void)
{
    done=1;
    printf("pop\n");
}
#define SCOPE for(push();next();pop())
int main(void)
{
    SCOPE
    {
        SCOPE printf("LOL\n");
        SCOPE printf("WTF\n");
    }
}
Re[23]: очень сильный C++
От: Трололоша  
Дата: 02.09.12 18:28
Оценка:
Здравствуйте, Alexey Sudachen, Вы писали:

AS>Нет, я не только хотел сказать, но ВСЕГДА говорю. — Существуют ТОЛЬКО компиляторы. Стандарты это фантазия некоторой группы людей о идеальном мире, когда нибудь, где нибудь, частично он даже воплощается в реальность.

Отчасти согласен, но вот беда, компиляторы постоянно меняются.

AS> Однако программист пишущий на стандарте, а не на компиляторе — бесполезен чуть менее чем полностью.

Компилятор обязан соотвествовать хотя бы одному стандарту. Иначе это плохой компилятор и от него можно ожидать подлянок в самых неожиданных местах. Он разумеется имеет право на существование, но вот пользоваться им — на свой страх и риск. Если где то компилятор вдруг не соотвествует — следует зафайлить багрепорт производителю. Если производитель не желает приводить глючащее поведение к стандарту — стоит подумать о вменяемости производителя и отказе от его продукции.
Тут не прогибаться под баги компилера надо а требовать соблюдения стандарта.
Если непонятно почему — спроецируй это на ГОСТы.
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[18]: очень сильный C++
От: Трололоша  
Дата: 02.09.12 18:28
Оценка: +1
Здравствуйте, Alexey Sudachen, Вы писали:

Т>>Т.е. вручную таки надо будет scope задавать, помимо языкового scope.

AS>Ну я так понимаю здесь ты scope в ручную не задаёшь да?
Т>>SecureBuffer<BYTE, SHA512::HashSize> hash;

точно так же как я тут "задаю" scope для переменной i.

void foo ()
{
 bar ();
 
 if (foofoo ())
 {
  int i;
    
    foobar ();
 }
}
... << RSDN@Home >>
Да, йа зелёный тролль!
Re[19]: очень сильный C++
От: Alexéy Sudachén Чили  
Дата: 02.09.12 18:36
Оценка:
P>Это устроит?
P>http://ideone.com/sPo5k

Ты действительно считаешь меня идиотом?! Вопрос конечно риторический, но всё-таки?
Кстати, про TLS не забыл? )))

В принципе что-то типа этого многие таки и используют. Для обработки исключений. Автоматического управления кроме ручного запихивание а авториелиз пул я что-то не видел. Может и есть, и наверняка даже похожим способом.

http://www.adomas.org/excc/source/exception.h.html
http://code.google.com/p/exceptions4c/source/browse/trunk/src/e4c.h

и ещё несколько, уже не помню... но ИМХО практически все при этом стараются юзать какие-то расширения компилера. И с такими макро-наворотами, что мой малюсенький макрос + трюк со switch'oм — сама простота. Я так понимаю именно switch тебя возбуждает, а совсем не макросы или факт неиспользования С++. Ну да, есть такая конструкция в языке, что же тут поделаешь, но не все её похоже способны осилить.

Ты сырки то посмотри чуток внимательнее, там вообще-то два способа. И нормально используется совсем не тот, который ты увидел. Хотя есть у меня чуЙство что со второго тебя вообще на части порвёт от возмущения. ))))
Re[20]: очень сильный C++
От: Piko  
Дата: 02.09.12 18:53
Оценка:
Здравствуйте, Alexéy Sudachén, Вы писали:

P>>Это устроит?

P>>http://ideone.com/sPo5k
AS>Ты действительно считаешь меня идиотом?! Вопрос конечно риторический, но всё-таки?

А что не так?

P>>>>>кстати, на счёт этого макроса — а разве нельзя его было сделать через for?
AS>>>>А ты сделай.

я сделал, но ответа не получил

AS>Кстати, про TLS не забыл? )))


нет, не забыл — естественно нужен TLS

AS>Я так понимаю именно switch тебя возбуждает, а совсем не макросы или факт неиспользования С++. Ну да, есть такая конструкция в языке, что же тут поделаешь, но не все её похоже способны осилить.


ога, судя по своим сообщениям, даже Intel'овский компилер что-то подобное не прожевал. И кто там теоретизирует?
Если серьёзно, то твой switch меня совсем не возбуждает, я просто хотел узнать чем более простая реализация через for не подошла, но видимо не судьба.
Re[21]: очень сильный C++
От: Alexéy Sudachén Чили  
Дата: 02.09.12 19:03
Оценка:
P>А что не так?

Ну например, раскрутка стека. Одна ошибка с return/break — утечка куска памяти.

AS>>Кстати, про TLS не забыл? )))

P>нет, не забыл — естественно нужен TLS

Правда, что же я его не вижу-то? ))) Желательно чтобы CL/WIN32/POSIX в одном флаконе. Не находишь что как-то насемитрично получается? С меня работающий код, а с тебя типа идея, которая как бы 'очевидно' делает то же самое. Не первый раз уже. Теоретики, они такие теоретики.

AS>>Я так понимаю именно switch тебя возбуждает, а совсем не макросы или факт неиспользования С++. Ну да, есть такая конструкция в языке, что же тут поделаешь, но не все её похоже способны осилить.

P>ога, судя по своим сообщениям, даже Intel'овский компилер что-то подобное не прожевал. И кто там теоретизирует?

Не даже, а единственный из всего что мне доступно. Что кстати баг, но таки это уже возвращает нас к вопросу о так любимых тобой стандартах. Как-то вот не работают стандарты. Весело да?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.