Как убрать повторяющийся код в операторах if - PullRequest
0 голосов
/ 02 июля 2019

Попытка сделать этот фрагмент существующего кода более компактным.

if(argA) {
     struct_A_s addr;
     Chunk of common code;
   }
   else if(argB) {
      struct_B_s addr
      Chunk of common code;
  `enter code here` }
   else {
      struct_C_s  addr;
      Chunk of common code;
   }

I wish to do something similar to the lines below.

То, как написано ниже, адрес не получает правильную структуру.

   if(argA) {
      struct_A_s addr;
   }
   else if(argB) {
      struct_B_s addr
   }
   else {
       struct_C_s  addr;
   }

Chunk of common code;

Есть идеи?

1 Ответ

0 голосов
/ 05 июля 2019

Ваш второй набор кода выполняется в нулевое время, нет разницы во времени, поэтому сразу после того, как этот код был проанализирован, ваша результирующая структура, скорее всего, останется неизвестной до времени разницы. Я предполагаю, что в «фрагменте общего кода» есть некоторый уровень задержки, который вызывает обновление значения addr.

...