Сообщения www_linux_org_ru
p=&(i++) все же возможно, но есть тонкие моменты
Недавно в Development был вопрос, на который похоже ответили не до конца
Вот пример для g++ 4.1.2. Я его чуть прокомментирую, и прошу знатоков стандарта меня подправить.
#include <iostream>
int main()
{
int i=1;
// const int* pi=&(i++);
const int& j=i++;
const int* pi=&j;
std::cout << "i=" << i << " j=" << j << " pi=" << pi << " *pi=" << *pi << '\n';
return 0;
}
1. const int& j=i++; похоже по стандарту (у Алены-срр видел похожее)
2. const int* pi=&j; мне кажется разумно
3. const int* pi=&(i++); — а вот это непонятно, почему компилятор отвергает
[g++] dynamic_cast возвращает 0x4, а не 0 — неужели баг?
Это баг или может нужны опции компилятору?
5.2.7.9 драфта на с++0х:
The value of a failed cast to pointer type is the null pointer value of the required result type.
http://www.kuzbass.ru:8086/docs/isocpp/expr.htm
The value of a failed cast to pointer type is the null pointer value of the required result type.
$ cat test1.cxx
#include <iostream>
#define AS(T) as<T>()
template<typename T> class Boxed;
class Something
{
public:
virtual void print_value_size() {};
template<typename T> T* as() { return (dynamic_cast<Boxed<T>*>(this))->get(); }
virtual ~Something(){}
};
template<typename T> class Boxed: public Something
{
private:
T value;
public:
Boxed<T>(T arg): value(arg) {}
T* get() { return &value; }
virtual void print_value_size() { std::cout << " sizeof=" << sizeof(value); }
virtual ~Boxed(){}
};
template<typename T> inline Boxed<T>* boxed(T arg) { return new Boxed<T>(arg); }
/// usage:
int main()
{
Something* x[]={ boxed(1), boxed("asdf"), boxed(3.0) };
for( int i=0; i<3; i++) {
x[i]->print_value_size();
int* y = x[i]->AS(int);
if( y!=NULL ) std::cout << " int=" << y << ' ';
std::cout << '\n';
}
}
$ g++ test1.cxx && ./a.out
sizeof=4 int=0x804b00c
sizeof=4 int=0x4
sizeof=8 int=0x4
Такая фигня на g++ Debian 4.3.2-1.1 и 4.1.2-21
Модератор svu употребляет слово «дерьмо» (24 примера) — именно употребляет, а не цитирует, и при этом режет посты со словом «гавно».
___________________________________________________
В этой истории дерьмом покрыли себя все.
http://www.linux.org.ru/jump-message.jsp?msgid=3017268&cid=3020470
Признать, что РФ в этой истории тоже извалялась в том же дерьме
http://www.linux.org.ru/jump-message.jsp?msgid=3017268&cid=3020796
не возьмусь судить, кто лучше - оба в дерьме
http://www.linux.org.ru/jump-message.jsp?msgid=3092592&cid=3094132
дерьмовый учитель, которого надо гнать из школы.
http://www.linux.org.ru/jump-message.jsp?msgid=3119262&cid=3149516
Нифига. Дерьмо получится у дерьмовых учителей.
http://www.linux.org.ru/jump-message.jsp?msgid=3119262&cid=3149516
А потом смешал с дерьмом за то, что дети не стали гениями.
http://www.linux.org.ru/jump-message.jsp?msgid=3190918&cid=3197761
В дерьме заляпались все.
http://www.linux.org.ru/jump-message.jsp?msgid=3218109&cid=3219704
И в истории куча такого дерьма.
http://www.linux.org.ru/jump-message.jsp?msgid=3218109&cid=3219928
И вот тогда они становились как правило отменным дерьмом.
http://www.linux.org.ru/jump-message.jsp?msgid=3274048&cid=3284241
Это - лакмусовая бумажка на дерьмо.
http://www.linux.org.ru/jump-message.jsp?msgid=3274048&cid=3284731
Я не буду сравнивать одно дерьмо с другим;)
http://www.linux.org.ru/jump-message.jsp?msgid=3367733&cid=3370422
но это надо уж совсем дерьмом было стать, по статусу
http://www.linux.org.ru/jump-message.jsp?msgid=3367733&cid=3378276
Если оппонент - полное дерьмо, то и бороться никакого интереса.
http://www.linux.org.ru/jump-message.jsp?msgid=3434832&cid=3436869
До тех пор, пока у меня есть возможность и желание чистить "локацию" от дерьма
http://www.linux.org.ru/jump-message.jsp?msgid=3440489&cid=3440580
что в процессе разгребания дерьма
http://www.linux.org.ru/jump-message.jsp?msgid=3442394&cid=3442508
Есть куча опенсорцного дерьма, есть технически хорошие закрытые продукты.
http://www.linux.org.ru/jump-message.jsp?msgid=3512650&cid=3512843
Старые - это древний как дерьмо Иказы libgnome,
http://www.linux.org.ru/jump-message.jsp?msgid=3603884&cid=3603975
Иначе это дерьмо, а не интерфейс,
http://www.linux.org.ru/jump-message.jsp?msgid=3603884&cid=3604300
Пассивом на 15 не обойтись. Дерьмо будет.
http://www.linux.org.ru/jump-message.jsp?msgid=3639807&cid=3639874
теперь дерьмо на планете только одного сорта, американского
http://www.linux.org.ru/jump-message.jsp?msgid=2774780&cid=2775807
VSS дерьмо.
http://www.linux.org.ru/jump-message.jsp?msgid=3655673&cid=3655709
Она способна порождать как качественный софт, так и дерьмо.
http://www.linux.org.ru/jump-message.jsp?msgid=2833841&cid=2841209
чтоб не давать повод для новой волны дерьма.
http://www.linux.org.ru/jump-message.jsp?msgid=2892090&cid=2892626
Закопайте. Отечественный автопластик всегда был дерьмом.
http://www.linux.org.ru/jump-message.jsp?msgid=2967399&cid=2967834
_____________________________________________________
А вот о том, как svu недавно вырезал "gtk ... гавно":
http://www.linux.org.ru/view-message.jsp?msgid=3655322
_____________________________________________________
В целом, кстати, точка зрения svu достаточно интересная и большей частью я с ней согласен. Выражение "древний как дерьмо Иказы" это вообще шедевр!
Но при этом надо все-таки дать и другим возможность создавать шедевры, а?
Где найти авторитетную историю suse — ведь http://lists.suse.com/archive/suse-linux-e/1998-Jan/0360.html больше нет?
Сейчас этой группы "suse-linux-e" на lists.suse.com НЕТ.
Более того http://www.mail-archive.com/suse-linux-e%40suse.com/mail6.html заканчивается на мессагах 10-летней давности.
Ну и где найти? Желательно чтобы авторитетно, чтобы можно было использовать в флеймах :-)
[C++][Haskell][Ocaml][Java][C#][?] позволяет ли ваш язык создать полноценный прокси для объектов?
Для таких объектов надо написать функцию f, которая на входе получает любой полноценный объект класса К, а на выходе возвращает тоже полноценный объект класса К1, причем К1 является потомком класса К и имеет все приватные, защищенные и открытые поля и методы класса К, и еще одно открытое поле -- счетчик. Вы расслабились? рано! Каждый вызов метода объекта класса К1 должен сначала инкрементировать то самое новое открытое поле-счетчик, а затем уже вызывать соответствующий метод своего родителя.
1. Порутчикам Ржевским со своими динамическими языками -- молчать. Я и так знаю, что вы скажете.
2. Почему рассматриваем только полноценные объекты -- если объект не полноценный, то при путешествии объекта класса К1 он быстро станет рассмативаться как объект класса К и перестанет инкрементировать счетчик (то, что в плюсах возможны "неполноценные" объекты я не собираюсь обсуждать -- это уведет далеко).
3. Для хаскелистов -- как я понимаю, у вас нет объектов, а только алгебраические типы данных. Для вас нужно задачу как-то переформулировать (или взять какую-то реализацию объектной системы, но в этом будет сложно разбираться).
4. На плюсах я сейчас вижу только "грязный" способ реализации -- использовать прямой доступ к vtbl на запись. Может кто предложит получше?
5. Дополненительное усложение: перед своим уничтожением объект должен записать счетчик в лог.
Напишите свой «Манифест пользователя ЛОРа» или откомментируйте мой
Так что та тема жива, не перешла еще на обсуждение Достоевского.
Напишите пожалуста свой "Манифест пользователя ЛОРа" или откомментируйте мой.
З.Ы. Модераторы -- не удаляйте эту тему как дубль -- это сознательная реклама *той* темы.
вместо запрета анонимусов предлагаю удалять их сообщения полуавтоматически и модераторам не рассматривать их жалобы
Модераторы точно не будут смотреть, смотреть возможно будут только те, кому интересно поиграться с фильтром.
В качестве фильтра -- регулярные выражения с учетом IP. Мне интересно было бы посоставлять их полуавтоматически.
Подскажите что прочесть по хасклею (без соплей) и шире — сравнительное по языкам программирования
Желательно в тексте, а не djvu.
Сравнительное... ну качественное, без лишней теории (хотя это и не обязатлеьно), на большее претензий нет :-)
Ищу аналог make, понимающий (дедуцирующий) зависимости из заданных коммандных строк в Makefile
1. Простейший вариант:
myprog file1 file2 > file3
означает что file3 зависит от file1 file2
2. Посложнее:
gcc file.c
означает что file.o зависит от file.c и всех его инклюдов (которые можно получить, дернув соотв. утилитку).
Нужен make, умеющий дедуцировать такое (и желательно добавлять правила для дедукции).
Не получается особый случай для forward declaration of a template class
Вот это работает:
class Widget {};
Widget default_widget;
template<Widget& defaults> class ElaboratedWidget;
template<Widget& defaults=default_widget> class ElaboratedWidget: public Widget
{
//
};
int main()
{
return 0;
}
А вот это не компилится. Как это правильно написать???
template<ElaboratedWidget& defaults> class ElaboratedWidget;
template<ElaboratedWidget& defaults> class ElaboratedWidget
{
//
};
int main()
{
return 0;
}
Подскажите... эээ... на тему CRUD & persistence manager для mono
1. persistence (вовсе не обязательно в sql базе)
2. CRUD
3. через атрибуты задавать индексы (похожие на sql-индексы, чтобы индексеры работали быстро) на поля класса
4. чтобы добавив новое поле в класс можно было автоматически сгенерить sql ALTER TABLE (или что-то для того, что будет вместо БД).
Откуда идут слухи, что shmat может приаттачить память _не_ по узазанному адресу?
http://www.opengroup.org/onlinepubs/009695399/functions/shmat.html
видим только, что адрес может быть выровнен по границе( а в винде граница -- 64К)
Вопрос не для флейма -- в будущем хочу усиленно юзать IPC через общую память, одинаково расположенную в разных процессах.
Итак, откуда слухи?
[хочется странного] посоветуйте open source графический терминал, понимающий распостранные и дополнительные *графические* эскейп-последовательности
1. Терминал должен понимать \n \r и хотя бы минимум эскейп-последоватьностей, чтобы линукс его узнавал и на нем приемлемо шли (n)curses (поэтому HTML не предлагайте).
2. Самое главное -- терминал должен понимать эскейп-последовательности типа <table> <tr> <td nowrap> </table> </tr> </td> <form> <input type=checkbox> <input type=text>, а так же последовательности для скроллинга, перехода в нужный ряд (с подсветкой текущей строки), и постинга полученной формы (постинг вовсе не обязательно в get/post формате, годится любой).
3. Терминал должен работать в графическом режиме (т.е. в Х-ах) и позволять честно не-моноширинные шрифты (а не буква-под-буквой)
4. Таблицы должны автоматически расширять колонки по приходе длинных данных.
Да, такое пишется (и да, будет мало похоже на обычный терминал), но кто-то видимо такое уже сделал.
Хотя бы по каким словам гуглить?
Посоветуйте криптостойкий метод расширения общего секрета, исключающий man-in-the-middle attack
При этом должна обеспечиваться
1. Аутентификация клиента сервером.
2. Аутентификация сервера клиентом.
3. Стойкость перед разными осмысленными атаками, например man-in-the-middle attack (терморектальный криптоанализ исключаем :-)
Лучше всего была бы готовая реализация на С/С++.
(З.Ы. дыры в ссш задолбали, да и не нужна несимметричная криптуха для логина на сервер.)
С какой скоростью можно дергать ЛОР? Или где-то уже лежит полный архив, хотя бы месячной давности?
(зачем мне это надо? хочется побаловаться полуавтоматическим нахождением интересной инфы)
Куда делся мой пост??? Гугль и поиск по сайту его не находят, а в удаленных его точно нет, ибо их у меня всего 13.
http://www.linux.org.ru/jump-message.jsp?msgid=3271707&cid=3274120
__но_этот_пример_я_уже_не_так_давно_постил_на_ЛОР__ !!!
По ключевым словам, например coord bottom находится только последний пост. Пост был не больше года назад.
Посоветуйте самый дешевый свитч, хаб, ... или что-то минимум на 2 порта по 10Мбит с некастрированным линуксом внутри
Надоело ошибаться в тся/ться. Ведь можно написать checker, хотя и не 100% точный.
Почти что футурама — Сбербанк открыл будки для самоубийств всего за 100 руб. А как с этим в Москве и Питере?
Вот, таки далекое замкадье имеет свои преимущества... или не имеет? И в Москве и в Питере *тоже* купюра не возвращается и вызывается милиция?
З.Ы. Что-то они слишком дорого берут. В футураме самоубийство стоило всего 25 центов...
| ← назад | следующие → |