powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как забыть про типизацию на клиенте
10 сообщений из 10, страница 1 из 1
Как забыть про типизацию на клиенте
    #37979650
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#include <iostream>
using namespace std;

class varlist{ ... };

class A { public: int jitter() { return 3; } };
class B { public: int farm() { return 15; } };

int main()
{
    varlist list = varlist() << A() << B() << new A() << new B();
    cout << list[0].jitter() << list[1].farm() << list[2]->jitter() << list[3]->farm();
    return 0;
}



Подскажите стратегию написания класса varlist, который поможет на клиентском уровне забыть про типизацию в C++ и позволит юзать списки смешанных типов, при этом чтобы с гарантией не падало в рантайме, возвращая дефолный объект, и чтобы автоматический кастинг перестал ambiguty-ошибаться.
...
Рейтинг: 0 / 0
Как забыть про типизацию на клиенте
    #37979842
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LumixПодскажите стратегию написания класса varlist, который поможет на клиентском уровне забыть про типизацию в C++взять язык с динамической типизацией, не?
...
Рейтинг: 0 / 0
Как забыть про типизацию на клиенте
    #37979867
Katamaran1987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lumix
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
#include <iostream>
using namespace std;

class varlist{ ... };

class A { public: int jitter() { return 3; } };
class B { public: int farm() { return 15; } };

int main()
{
    varlist list = varlist() << A() << B() << new A() << new B();
    cout << list[0].jitter() << list[1].farm() << list[2]->jitter() << list[3]->farm();
    return 0;
}



Подскажите стратегию написания класса varlist, который поможет на клиентском уровне забыть про типизацию в C++ и позволит юзать списки смешанных типов, при этом чтобы с гарантией не падало в рантайме, возвращая дефолный объект, и чтобы автоматический кастинг перестал ambiguty-ошибаться.typelist александреску, boost::mpl/fusion вообще красота.
...
Рейтинг: 0 / 0
Как забыть про типизацию на клиенте
    #37979982
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychвзять язык с динамической типизацией, не?

Это запасной парашют))
...
Рейтинг: 0 / 0
Как забыть про типизацию на клиенте
    #37980007
Katamaran1987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Katamaran1987typelist александреску, boost::mpl/fusion вообще красота.[/quot] Хотя у тебя немного другой случай, тебе нужен базовый интерфейс хранить в любом контейнере(указатели).В некоторых функциях придется писать заглушки.Тайп листы хороши но если у тебя компайл тайм контейнеры, хотя есть и push_back компайловский в mpl, а потом перегонять в fusion, но это будут слишком сложные пляски.
...
Рейтинг: 0 / 0
Как забыть про типизацию на клиенте
    #37980720
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lumix,

В С++ list[0] и list[1] не могут возвращать разные типы. Так что забудьте.
...
Рейтинг: 0 / 0
Как забыть про типизацию на клиенте
    #37980900
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,

печаль, че...
...
Рейтинг: 0 / 0
Как забыть про типизацию на клиенте
    #37981021
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boost::variant/any ?
...
Рейтинг: 0 / 0
Как забыть про типизацию на клиенте
    #37981059
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LumixAnatoly Moskovsky,

печаль, че...да наоборот какбэ, зашибись
...
Рейтинг: 0 / 0
Как забыть про типизацию на клиенте
    #37981754
Фотография Lumix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivboost::variant/any ?

да!! это как раз то, что я хотел. спасибо!!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как забыть про типизацию на клиенте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]