Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi >> C++, Переход 
:(
    Опции темы
MAKCim
Дата 22.11.2006, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

код классов

??
как это? Метаинформация как в С# например? Или что?
Или вы имеете в виду экземпляры классов, т. е объекты?
Цитата

но и в делфи есть конструкции, которые С++ не возьмет

нет синтаксической конструкции, но это легко эмулировать
а вот 
Код

void F(...) {...}

скорее всего не получится (найти аналог или ухищрение какое-нибудь на Delphi)


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
skyboy
Дата 22.11.2006, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



MAKCim, просвети, чем 
Код

void F(...) {}

отличается от
Код

procedure F(...)
{
.....
}


PM MAIL   Вверх
MAKCim
Дата 22.11.2006, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата

отличается от

если в
Код

procedure F(...)
{
.....
}

можно передать произвольное (ну не произвольное, а ограниченное стеком) число параметров, то ничем.
Если Delphi реально есть такая конструкция (я не знал), то беру свои слова назад


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
SergeCpp
Дата 22.11.2006, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 3
Всего: 124



Цитата(alexeis1 @  22.11.2006,  12:34 Найти цитируемый пост)
procedure proc1;
 procedure proc2;
   procedure proc3;
   Begin
   end;
 Begin
 end;
Begin
end;

Код
int outer( int i )
{
    struct inner
    {
        int operator() ( int i ) { return i > 0 ? i * outer( i - 1 ) : 1; }
    };

    inner a;

    return a( i );
}


Это сообщение отредактировал(а) SergeCpp - 22.11.2006, 11:36
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 22.11.2006, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Код

procedure F(const Args: array of const)
{
.....
}

аналог ф_ции с переменым числом параметров  smile  типа
Цитата(skyboy @  22.11.2006,  09:47 Найти цитируемый пост)
void F(...) {}




--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
SergeCpp
Дата 22.11.2006, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 3
Всего: 124



Compile-time calculations...
Код
template <int N> struct Factorial 
{
    enum { value = N * Factorial<N - 1>::value };
};

template <> struct Factorial<0> 
{
    enum { value = 1 };
};

void foo()
{
    int x = Factorial<4>::value; // == 24 at compile time
}

Код
?

PM MAIL WWW ICQ   Вверх
Romikgy
Дата 22.11.2006, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



SergeCpp, уже говорилось что в дельфи/паскале нет шаблонов!
А реализовать вычисление факториала, я думаю сам понимаешь, на дельфи можно


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
SergeCpp
Дата 22.11.2006, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 3
Всего: 124



Цитата(Romikgy @  22.11.2006,  14:01 Найти цитируемый пост)
аналог ф_ции с переменым числом параметров типа

The array of const construction is equivalent to array of TVarRec. TVarRec, declared in the System unit, represents a record with a variant part that can hold values of integer, Boolean, character, real, string, pointer, class, class reference, interface, and variant types. TVarRec's VType field indicates the type of each element in the array.

Приблизительный аналог... Overheads в лице TVarRec's VType field, однако...

PM MAIL WWW ICQ   Вверх
Romikgy
Дата 22.11.2006, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



или ты делал упор на это?
Цитата(SergeCpp @  22.11.2006,  11:03 Найти цитируемый пост)
at compile time

(я это сразу не заметил)

Добавлено @ 12:15 
Цитата(SergeCpp @  22.11.2006,  11:13 Найти цитируемый пост)
Приблизительный аналог... 

не спорю, но можно создать процедуру у которой будет переменое число параметров  smile 



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
SergeCpp
Дата 22.11.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 3
Всего: 124



Цитата(Romikgy @  22.11.2006,  14:12 Найти цитируемый пост)
А реализовать вычисление факториала, я думаю сам понимаешь, на дельфи можно

At compile time?..
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 22.11.2006, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



SergeCpp
1. когда это может понадобится?
2. надо подумать никогда такое не надо было делать, лично мне


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
SergeCpp
Дата 22.11.2006, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 3
Всего: 124



Код
void foo()
{
    int x[ Factorial<4>::value ];
}

PM MAIL WWW ICQ   Вверх
Alexeis
Дата 22.11.2006, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



SergeCpp, конструкция, конечно интересная, но может ли она реализовать весь тот функционал, который я описал?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Alexeis
Дата 22.11.2006, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 14
Всего: 459



Цитата(MAKCim @  22.11.2006,  10:43 Найти цитируемый пост)
??
как это? Метаинформация как в С# например? Или что?
Или вы имеете в виду экземпляры классов, т. е объекты?


Объект сам по себе небольшой, обычно в нем только данные, а его методы хранятся отдельно и являются общими для всех объектов. На самом деле в программе существует некая структура которая отражает именно класс, а не сам объект. Стандартные библиотеки Dll не допускают передачу обычных объектов как из dll  так и в нее. В делфи реализованы расширенные библиотеки позволяющие при загрузке определять связи между экземпляром объекта и его классом, тем самым отпадает необходимость в дублировании кода класса (фактически его методов). Кроме того это позволяет передавать объекты в такую библиотеку, что дает гибкость управления памятью


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
SergeCpp
Дата 22.11.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 3
Всего: 124



Цитата(alexeis1 @  22.11.2006,  14:59 Найти цитируемый пост)
конструкция, конечно интересная, но может ли она реализовать весь тот функционал, который я описал?
И даже больший... e.g. в структуре могут быть и data-members...
См. 9.8 Local class declarations в стандарте...


Это сообщение отредактировал(а) SergeCpp - 22.11.2006, 14:33
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1132 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.