LINUX.ORG.RU

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

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

Тогда мне нужно будет править вызов функции, будет не func(var1,var2), а func(&var1, &var2). Не хотелось бы, да и доп указатель используется, хотя это чисто по Сишному, ИМХО. У меня получилось, что-то похожее на такое, имеет ли право на существование такой код:

void func(type_struct &var1F, type_struct &var2F) {
  if (var1F.len > var2F.len) {
    (int&)var1F = int(&var1F) ^ int(&var2F);
    (int&)var2F = int(&var2F) ^ int(&var1F);
    (int&)var1F = int(&var1F) ^ int(&var2F);
  }
  ...
  return;
}
После выхода из функции func(var1,var2) var1 и var2 указывает на туже лбласть памяти, что и до входа в функцию?

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

Тогда мне нужно будет править вызов функции, будет не func(var1,var2), а func(&var1, &var2). Не хотелось бы, да и доп указатель используется, хотя это чисто по Сишному, ИМХО. У меня получилось, что-то похожее на такое, имеет ли право на существование такой код:

void func(type_struct &var1F, type_struct &var2F) {
  if var1F.len > var2F.len {
    (int&)var1F = int(&var1F) ^ int(&var2F);
    (int&)var2F = int(&var2F) ^ int(&var1F);
    (int&)var1F = int(&var1F) ^ int(&var2F);
  }
  ...
  return;
}
После выхода из функции func(var1,var2) var1 и var2 указывает на туже лбласть памяти, что и до входа в функцию?