0
我是C++的新手。我想在'vector'中打印一些值。如何在矢量中打印內容
vector<GLubyte> m_coneIndices;
m_coneIndices.resize(m_bodyIndexCount + m_diskIndexCount);
vector<GLubyte>::iterator index = m_coneIndices.begin();
// Body triangles
for (int i = 0; i < coneSlices * 2; i += 2) {
*index++ = i;
*index++ = (i + 1) % (2 * coneSlices);
*index++ = (i + 3) % (2 * coneSlices);
}
// Disk triangles
for (int i = 1; i < coneSlices * 2 + 1; i += 2) {
*index++ = diskCenterIndex;
*index++ = i;
*index++ = (i + 2) % (2 * coneSlices);
}
這就是存儲在'vector'中的值。我試過像
cout << "indices"<< "\n";
for (int i=0; i<(coneSlices * 2); i+=2) {
cout << m_coneIndices[i] << ' ' << m_coneIndices[i+1] << ' ' << m_coneIndices[i+2] << ' ' << "\n";
}
並且打印了一些垃圾值。讓我知道這段代碼有什麼問題。
你確定這些尺寸是正確的嗎?在你的循環中,我看到「i + = 2」,但你更新了矢量中的三個值......所以它應該是「i + = 3」我認爲。您可以像使用數組一樣使用矢量,例如使用「coneIndices [i] = ...」。 – fen 2013-04-07 10:07:08
你正在爲你的'矢量'做可怕的事情。 * Stahp!* – 2013-04-07 10:11:55
我從http://examples.oreilly.com/9780596804831/找到了此代碼,位於TouchCone部分 – rakeshNS 2013-04-07 10:31:19