Есть ли более простой / короткий способ написать это на 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()
тогда вам определенно следует сократить его таким образом - вы даже помогаете производительности программы, пропуская два вызова функций, у обоих из которых есть небольшие затраты на обслуживание, и вы можете безопасно делать это таким образом, не теряя много логики или читабельности.