LINUX.ORG.RU

Сообщения www_linux_org_ru

 

в новости отвергается тэг с++

Вот новость, когда пофиксите поставьта пожалуста тэг с++ http://www.linux.org.ru/view-message.jsp?msgid=3705184&lastmod=1242321842398

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++); — а вот это непонятно, почему компилятор отвергает

www_linux_org_ru
()

[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

 

www_linux_org_ru
()

Модератор 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 достаточно интересная и большей частью я с ней согласен. Выражение "древний как дерьмо Иказы" это вообще шедевр!

Но при этом надо все-таки дать и другим возможность создавать шедевры, а?

www_linux_org_ru
()

Где найти авторитетную историю suse — ведь http://lists.suse.com/archive/suse-linux-e/1998-Jan/0360.html больше нет?

Разнообразные споры "от кого произошла суся", "когда вышла первая суся", ... ссылаются на 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-летней давности.

Ну и где найти? Желательно чтобы авторитетно, чтобы можно было использовать в флеймах :-)

www_linux_org_ru
()

[C++][Haskell][Ocaml][Java][C#][?] позволяет ли ваш язык создать полноценный прокси для объектов?

Рассмотрим "полноценные" в смысле смоллтолка объекты, т.е. те, в которых можно вызывать виртуальные методы.

Для таких объектов надо написать функцию f, которая на входе получает любой полноценный объект класса К, а на выходе возвращает тоже полноценный объект класса К1, причем К1 является потомком класса К и имеет все приватные, защищенные и открытые поля и методы класса К, и еще одно открытое поле -- счетчик. Вы расслабились? рано! Каждый вызов метода объекта класса К1 должен сначала инкрементировать то самое новое открытое поле-счетчик, а затем уже вызывать соответствующий метод своего родителя.

1. Порутчикам Ржевским со своими динамическими языками -- молчать. Я и так знаю, что вы скажете.

2. Почему рассматриваем только полноценные объекты -- если объект не полноценный, то при путешествии объекта класса К1 он быстро станет рассмативаться как объект класса К и перестанет инкрементировать счетчик (то, что в плюсах возможны "неполноценные" объекты я не собираюсь обсуждать -- это уведет далеко).

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

4. На плюсах я сейчас вижу только "грязный" способ реализации -- использовать прямой доступ к vtbl на запись. Может кто предложит получше?

5. Дополненительное усложение: перед своим уничтожением объект должен записать счетчик в лог.

 , , ,

www_linux_org_ru
()

Напишите свой «Манифест пользователя ЛОРа» или откомментируйте мой

Вот мой манифест, в почти соседней теме "Верните мне _мой_ ЛОР": http://www.linux.org.ru/jump-message.jsp?msgid=3591954&cid=3596935

Так что та тема жива, не перешла еще на обсуждение Достоевского.

Напишите пожалуста свой "Манифест пользователя ЛОРа" или откомментируйте мой.

З.Ы. Модераторы -- не удаляйте эту тему как дубль -- это сознательная реклама *той* темы.

www_linux_org_ru
()

вместо запрета анонимусов предлагаю удалять их сообщения полуавтоматически и модераторам не рассматривать их жалобы

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

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

В качестве фильтра -- регулярные выражения с учетом IP. Мне интересно было бы посоставлять их полуавтоматически.

www_linux_org_ru
()

Подскажите что прочесть по хасклею (без соплей) и шире — сравнительное по языкам программирования

По хаскелю -- чтобы было без эмоциональных соплей и с акцентированием основных моментов, отличающих его от плюсов например.

Желательно в тексте, а не djvu.

Сравнительное... ну качественное, без лишней теории (хотя это и не обязатлеьно), на большее претензий нет :-)

www_linux_org_ru
()

Ищу аналог make, понимающий (дедуцирующий) зависимости из заданных коммандных строк в Makefile

make требует избыточной (чаще всего) информации.

1. Простейший вариант:

myprog file1 file2 > file3

означает что file3 зависит от file1 file2

2. Посложнее:

gcc file.c

означает что file.o зависит от file.c и всех его инклюдов (которые можно получить, дернув соотв. утилитку).

Нужен make, умеющий дедуцировать такое (и желательно добавлять правила для дедукции).

www_linux_org_ru
()

Не получается особый случай для 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;
}

www_linux_org_ru
()

Подскажите... эээ... на тему CRUD & persistence manager для mono

Ищу что-нибудь с открытым исходным кодом, попроще, дающее возможность:

1. persistence (вовсе не обязательно в sql базе)

2. CRUD

3. через атрибуты задавать индексы (похожие на sql-индексы, чтобы индексеры работали быстро) на поля класса

4. чтобы добавив новое поле в класс можно было автоматически сгенерить sql ALTER TABLE (или что-то для того, что будет вместо БД).

www_linux_org_ru
()

Откуда идут слухи, что shmat может приаттачить память _не_ по узазанному адресу?

Читаем:

http://www.opengroup.org/onlinepubs/009695399/functions/shmat.html

видим только, что адрес может быть выровнен по границе( а в винде граница -- 64К)

Вопрос не для флейма -- в будущем хочу усиленно юзать IPC через общую память, одинаково расположенную в разных процессах.

Итак, откуда слухи?

www_linux_org_ru
()

[хочется странного] посоветуйте 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. Таблицы должны автоматически расширять колонки по приходе длинных данных.

Да, такое пишется (и да, будет мало похоже на обычный терминал), но кто-то видимо такое уже сделал.

Хотя бы по каким словам гуглить?

 

www_linux_org_ru
()

Посоветуйте криптостойкий метод расширения общего секрета, исключающий man-in-the-middle attack

Допустим, оба -- клиент и сервер знают короткий логин и короткий пароль. Какими пакетами им следует обменяться, чтобы сгенерировать длинный общий секрет, который они будут использовать как ключ например AES для шифрования текущей сессии?

При этом должна обеспечиваться

1. Аутентификация клиента сервером.

2. Аутентификация сервера клиентом.

3. Стойкость перед разными осмысленными атаками, например man-in-the-middle attack (терморектальный криптоанализ исключаем :-)

Лучше всего была бы готовая реализация на С/С++.

(З.Ы. дыры в ссш задолбали, да и не нужна несимметричная криптуха для логина на сервер.)

www_linux_org_ru
()

С какой скоростью можно дергать ЛОР? Или где-то уже лежит полный архив, хотя бы месячной давности?

Лучше всего был бы архивнутый дамп нескольких таблиц в SQL. А иначе -- только дергать... и перегружать сервер не хочется. В общем, сколько раз в сутки можно дергать по http тему целиком? (поиск по сайту, как тяжелую операцию, я делать не буду)

(зачем мне это надо? хочется побаловаться полуавтоматическим нахождением интересной инфы)

www_linux_org_ru
()

Куда делся мой пост??? Гугль и поиск по сайту его не находят, а в удаленных его точно нет, ибо их у меня всего 13.

Вот в этой мессаге я пощу пример:

http://www.linux.org.ru/jump-message.jsp?msgid=3271707&cid=3274120

__но_этот_пример_я_уже_не_так_давно_постил_на_ЛОР__ !!!

По ключевым словам, например coord bottom находится только последний пост. Пост был не больше года назад.

www_linux_org_ru
()

Посоветуйте самый дешевый свитч, хаб, ... или что-то минимум на 2 порта по 10Мбит с некастрированным линуксом внутри

Некастрированный линукс -- чтобы можно было хотя бы свои правила в iptables грузить и был хотя бы тельнет. Апач + что-то не обязательно.

www_linux_org_ru
()

Надоело ошибаться в тся/ться. Ведь можно написать checker, хотя и не 100% точный.

Вполне достаточно написать много эвристик, хотя бы в виде регулярного выражения. Неужели это никто не делал?

www_linux_org_ru
()

Почти что футурама — Сбербанк открыл будки для самоубийств всего за 100 руб. А как с этим в Москве и Питере?

Вижу в сберкассе услугу -- "проверка денежных знаков на подлинность". Спросил сколько стоит. Ответ: "по 8 рублей за купюру, но не менее 100 рублей, если будет обнаружена фальшивая -- вызываем милицию".

Вот, таки далекое замкадье имеет свои преимущества... или не имеет? И в Москве и в Питере *тоже* купюра не возвращается и вызывается милиция?

З.Ы. Что-то они слишком дорого берут. В футураме самоубийство стоило всего 25 центов...

www_linux_org_ru
()

RSS подписка на новые темы