Запретить С++ как класс (без деструктора) и перейти на С.aissp писал(а): Если что то можно сделать просто, зачем делать сложно?
пофлеймим?
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
- Baguk
- Маньяк
- Сообщения: 2365
- Зарегистрирован: 25 янв 2007, 12:55
- Откуда: UA->AZ->IL->CA
- Marmot
- Графоман
- Сообщения: 39279
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
- ajkj3em
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 12 ноя 2006, 06:53
если много писать на С, то в результате в коде образуютcя patterns,Marmot писал(а):+1Baguk писал(а):Запретить С++ как класс (без деструктора) и перейти на С.
Не нужен С++, нужен С, там где нужна скорость, drivers, kernels, ограничения по CPU, memory etc, и Java для прочих аппликух :)
которые очень сильно напоминают С++ - init/term (c-tor/d-tor) для
структур, поинтеры на функции, в которые передаетcя аналог
this поинтера, callback interfaces похожие на абстрактные классы,
варианты наследования (включение одной структуры в другую и
потом извраты с offsetof и container_of) и тому подобное. вариации
throw-catch на longjmp тоже из етой серии.
дело персонального вкуса, но С++ можно использовать как очень
удобный диалект С, который позволяет писать более компактный
C-style код.
- ajkj3em
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 12 ноя 2006, 06:53
я не понимаю о какой таблице ты говоришь. порядок инициализацииaissp писал(а):ну с моей точки зрения смысел есть, достаточно одного объявления класса для определения порядка инициализации, чем класс + таблица.
и де-инициализации определяетcя и в том, и другом случае во время
компиляции. я чего-то не понимаю зачем там таблица ..
- Marmot
- Графоман
- Сообщения: 39279
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
- Marmot
- Графоман
- Сообщения: 39279
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
А если есть несколько разныч списков инициализации, тогда надо несколько деструкторов? Для каждого порядка инициализации/деинициализации ?Marmot писал(а):ajkj3em писал(а):я не понимаю о какой таблице ты говоришь. порядок инициализации
и де-инициализации определяетcя и в том, и другом случае во время
компиляции. я чего-то не понимаю зачем там таблица ..
Поправил для ясности
- ajkj3em
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 12 ноя 2006, 06:53
Аааааааааааааааааа ... ептыть, разные конструкторы ... семен семеныч :)Marmot писал(а):Marmot писал(а):А если есть несколько разныч списков инициализации, тогда надо несколько деструкторов? Для каждого порядка инициализации/деинициализации ?ajkj3em писал(а):я не понимаю о какой таблице ты говоришь. порядок инициализации
и де-инициализации определяетcя и в том, и другом случае во время
компиляции. я чего-то не понимаю зачем там таблица ..
Поправил для ясности
- aissp
- Маньяк
- Сообщения: 2710
- Зарегистрирован: 07 ноя 2005, 09:51
я грил чисто о реадизации компилятора. так проще. более того так логичнее с точки зрения наследования. никто (заисключением мармота есс-но) не будет спорить что базовые классы инициализруются ферст (как гарный жаба программер ему такие фичи до яхуу) но с точки зрения с - наследуемый класс ето просто структура при которой базовые члены идут ферст.
Ша, по причине неадкватности придется прояснить
class A {
int a1;}
class B : public A {
int b1;
}
точка зрения C
struct B {
int a1;
int b1;
}
и естественный порядок a1 first b1 second...
теперь пусть class B {
int b1, b2;}
логичнее предположить и реализовать - порядок объявления.
ОК по другому, тебе дано право выбора стандарта, у тя есть два разных способа решения, оба логичные (я жабу не имею ввиду) какой ты выберешь? Думаю тот который проще. Я бы такой выбрал, инициализация по порядку объявлений не мешает ничему и проще в рализации компилатора - по меому решение однозначно. Нет ?
уф.
То был вопрос для интермедиотофф
для сеньороф я завтрего задам ежели проснусь 
ЗЫ опа мармот несмотря на языковую ущербность умную вещь заметил - неоднозначность конструктора. Памятник тебе Мармот (сегодян в подарок те одЫн раз скажу ява рулез с++ аццтой для лохоф )
Ша, по причине неадкватности придется прояснить
class A {
int a1;}
class B : public A {
int b1;
}
точка зрения C
struct B {
int a1;
int b1;
}
и естественный порядок a1 first b1 second...
теперь пусть class B {
int b1, b2;}
логичнее предположить и реализовать - порядок объявления.
ОК по другому, тебе дано право выбора стандарта, у тя есть два разных способа решения, оба логичные (я жабу не имею ввиду) какой ты выберешь? Думаю тот который проще. Я бы такой выбрал, инициализация по порядку объявлений не мешает ничему и проще в рализации компилатора - по меому решение однозначно. Нет ?

уф.
То был вопрос для интермедиотофф


ЗЫ опа мармот несмотря на языковую ущербность умную вещь заметил - неоднозначность конструктора. Памятник тебе Мармот (сегодян в подарок те одЫн раз скажу ява рулез с++ аццтой для лохоф )

- Baguk
- Маньяк
- Сообщения: 2365
- Зарегистрирован: 25 янв 2007, 12:55
- Откуда: UA->AZ->IL->CA
Да разве-ж дано каждому все эти конструкторы и наследования запомнить? Взял пойнтер, поднял бит - это понятно. Правда, для job security бывает полезно, но и то не всегда.aissp писал(а):я грил чисто о реадизации компилятора. так проще. более того так логичнее с точки зрения наследования. никто (заисключением мармота есс-но) не будет спорить что базовые классы инициализруются ферст (как гарный жаба программер ему такие фичи до яхуу) но с точки зрения с - наследуемый класс ето просто структура при которой базовые члены идут ферст.
Ша, по причине неадкватности придется прояснить
class A {
int a1;}
class B : public A {
int b1;
}
точка зрения C
struct B {
int a1;
int b1;
}
и естественный порядок a1 first b1 second...
теперь пусть class B {
int b1, b2;}
логичнее предположить и реализовать - порядок объявления.
ОК по другому, тебе дано право выбора стандарта, у тя есть два разных способа решения, оба логичные (я жабу не имею ввиду) какой ты выберешь? Думаю тот который проще. Я бы такой выбрал, инициализация по порядку объявлений не мешает ничему и проще в рализации компилатора - по меому решение однозначно. Нет ?
уф.
То был вопрос для интермедиотоффдля сеньороф я завтрего задам ежели проснусь
ЗЫ опа мармот несмотря на языковую ущербность умную вещь заметил - неоднозначность конструктора. Памятник тебе Мармот (сегодян в подарок те одЫн раз скажу ява рулез с++ аццтой для лохоф )
- aissp
- Маньяк
- Сообщения: 2710
- Зарегистрирован: 07 ноя 2005, 09:51