gpt4 book ai didi

C++如何从类变量返回一个const对象

转载 作者:行者123 更新时间:2023-11-30 02:46:16 24 4
gpt4 key购买 nike

所以我有一个名为 MusicComposer 的类,它有一个 AudioSignal 对象作为名为 music 的数据成员。音乐是非常量的。但是,我需要在名为 getMusic 的方法中将音乐作为 const AudioSignal 返回。

在源文件中:

const AudioSignal& MusicComposer::getMusic(){

}

音乐声明为:

AudioSignal music;

^ 这在头文件中。

我将 music 声明为非常量,因为在 getMusic 方法返回音乐之前需要对其进行更改。但是,我终生无法弄清楚如何返回它的 const 版本。如何返回 const 版本的音乐?

最佳答案

C++ 可以随时为您自动将 mutable 更改为 const。没什么大不了的。这是很难的其他方式。

return music;

如果你真的想要明确你可以这样做,但这是奇怪的代码,而且奇怪是不好的。

return static_cast<const AudioSignal&>(music);

此外,Cyber​​ 观察到 getter 方法本身通常是 const,这使得即使 MusicComposerconst 也可以调用它们。

const AudioSignal& MusicComposer::getMusic() const {
^^^^^

关于C++如何从类变量返回一个const对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23706051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com