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