Есть ли более простой / короткий способ написать это на C ++? - PullRequest
0 голосов
/ 03 ноября 2018

Я все еще очень плохо знаком с C ++ и работаю в JUCE над некоторыми проектами по синтезированию звука, чтобы изучить их. Я пытаюсь изучить разные способы написания вещей.

Есть ли какой-нибудь более простой способ написать ниже, например, как одну единственную функцию, где два выхода возвращаются, а затем умножаются все сразу?

    double noiseEnvOutput()
    {
        return envImpulse.nextSample();
    }

    double noiseOscOutput()
    {
        return noiseOsc.noise();
    }

    double noiseImpulse()
    {
        return noiseOscOutput()*noiseEnvOutput();
    }

1 Ответ

0 голосов
/ 03 ноября 2018

Полагаю, вы ищете что-то вроде:

double noiseImpulse()
{
    return noiseOsc.noise() * envImpulse.nextSample();
}

Если вы используете только noiseOscOutput() и noiseImpulse() внутри noiseImpulse(), то вам следует определенно сократить его таким образом - вы даже помогаете производительности программы, пропуская два вызова функций, которые оба имеют небольшие затраты на обслуживание. может безопасно сделать это таким образом, не теряя много логики или читабельности.

...