我有一個用於OpenGL緩衝區的C++類,它有許多setData()
函數來說明緩衝區可能包含的不同類型的數據,例如整型:如何避免使用不同類型C++的多個函數執行相同的操作
void Buffer::setData(int* data)
{
//Bind the buffer
bind();
//Input the data into the buffer based on the type
glBufferData(type, sizeof(int) * size, data, GL_DYNAMIC_DRAW);
}
這是功能則僅改變的是sizeof(int)
變得sizeof(<other type>)
我想知道是否有辦法解決事情的每一個版本一樣嗎?我考慮過的一種可能性是泛型類型變量,如var?我知道var本身並不存在於C++中,但是有一些等價的嗎?
模板是否工作? – alphacentauri 2014-09-04 16:28:47
不知道如何使用模板我是一個C++新手,我會研究它:) – DomAyre 2014-09-04 16:29:53