LINUX.ORG.RU

История изменений

Исправление nanoolinux, (текущая версия) :

Ексепшены в конструкторе это благо. Так как позволяет выкинуть из fsm кучу ненужных состояний.

Код

SomeClass::SomeClass()
{
   int *x = new [100];
   throw string("we are fucked");
}
ущербен по опеределению. Это как на ерланге слать {hello} такому раз в миллисекунду например:
loop(State) ->
  receive
    stop ->
       ok;
    {message, Msg} ->
      NewSate = process_msg(State, Msg),
      loop(NewState)
  end
рано или поздно твоя нода отклеиться, так как память закончиться под мейлбокс для процесса. И кто же пишет такой код? Правильно: неосилятор.

Исходная версия nanoolinux, :

Ексепшены в конструкторе это благо. Так как позволяет выкинуть из fsm кучу ненужных состояний.

Код

SomeClass::SomeClass()
{
   int *x = new [100];
   throw string("we are fucked");
}
ущербен по опеределению. Это как на ерланге слать {hello} такому раз в миллисекунду например:
loop(State) ->
  receive
    stop ->
       ok;
    {message, Msg} ->
      process_msg(State, Msg),
      loop(State)
  end
рано или поздно твоя нода отклеиться, так как память закончиться под мейлбокс для процесса. И кто же пишет такой код? Правильно: неосилятор.