Есть ли более простой / короткий способ написать это на C++?

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

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

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

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

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

1 ответ

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

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

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

Другие вопросы по тегам