Информация об изменениях

Сообщение Re[3]: [plain c] Параметр функции как const и не const при в от 21.04.2015 14:45

Изменено 21.04.2015 14:45 Evgeny.Panasyuk

Здравствуйте, DirtyGarry, Вы писали:

EP>>Зависит от контракта функции.

DG>Логика func такова, что новое значение c получается на основе значения a.

Этих сведений недостаточно для того чтобы утверждать если ли в func(c, c, b) баг или нет. Нужно уточнить контракт.

Например если func это сложение векторов, то есть у неё внутри:
int func(unsigned int *c, const unsigned int *a, const unsigned int *b)
{
    for( ... )
        c[i] = a[i] + b[i];
}
тогда делать вызов func(c, c, b) можно. Но опять таки — помимо кода нужно смотреть контракт.
Re[3]: [plain c] Параметр функции как const и не const при в
Здравствуйте, DirtyGarry, Вы писали:

EP>>Зависит от контракта функции.

DG>Логика func такова, что новое значение c получается на основе значения a.

Этих сведений недостаточно для того чтобы утверждать есть ли в func(c, c, b) баг или нет. Нужно уточнить контракт.

Например если func это сложение векторов, то есть у неё внутри:
int func(unsigned int *c, const unsigned int *a, const unsigned int *b)
{
    for( ... )
        c[i] = a[i] + b[i];
}
тогда делать вызов func(c, c, b) можно. Но опять таки — помимо кода нужно смотреть контракт.