我确信这个问题在这里被多次触及,但我真的找不到我遇到的问题类型的答案。我有一个类需要在里面保存一个数组。但是该数组的类型是可靠的(确切地说,它取决于打开的波形文件的比特率,例如 8 位 - 字符,16 位 - 短等)。我需要在其中一个类方法中定义它。
我的想法是使用auto
关键字来声明指针:
class WaveReader {
//
auto *data;
};
然后,在方法内部:
void some_func(int datasize)
{
//
case 8:
data = new char[datasize];
break;
case 16:
data = new short[datasize];
break;
//
etc.
}
但那是个愚蠢的主意。我知道最简单的方法是为每种类型声明数组,但我想知道是否有一种聪明的方法,也许使用一些模板?非常感谢您的帮助。