void somefunction(struct *str, const char *status)
{
if (str != NULL)
{
if (status != NULL)
{
str_copy(str->something, status, sizeof(str->something));
}
}
}
// что лучше в смысле цикла процессора выше одного или ниже? Что требует больше циклов процессора?Вложенный Если условие и операция логического И
void somefunction(struct *str, const char *status)
{
if (str != NULL && status != NULL)
{
str_copy(str->something, status, sizeof(str->something));
}
}
Для чего требуется больше циклов процессора?
Почему случайные незнакомые люди в Интернете будут лучше отвечать на это, чем просто профилировать оба? Даже если бы мы действительно хотели ответить, вам нужно будет добавить дополнительные сведения, такие как * язык * (это выглядит как C, но там снова, так что много языков)? Какой компилятор? Какой процессор? –
Со всеми современными компиляторами ваш код оптимизирован. Также, поскольку значение if (str! = NULL && status! = NULL) оценивается слева, код идентичен. Также почему вы заботитесь об оптимизации этого бита кода. Я полагаю, что функция str_copy занимает 1000 раз дольше, чем оператор if. – Arno