复制向量的 y 分量
Copy y-components of a vector
我想复制类型向量的 y 分量:std::vector <glm::vec3> example
,因为我无法通过 example.size().y...
之类的操作仅访问该向量的 y 分量。所以,我假设我必须将 y 分量的内容复制到另一个 vector/array,但有没有办法做到这一点?我在想类似的东西:
std::vector <int> something;
for (int i = 0; i < example.size(); i++)
{
something[i] = example[i].y;
}
但它显然不起作用。
谢谢!
您需要确保矢量的大小随着您推入其中的元素而增长。 []
运算符只是一个访问器。
std::vector <int> something;
something.resize(example.size());
for (int i = 0; i < example.size(); i++)
{
something[i] = example[i].y;
}
std::vector <int> something;
for (int i = 0; i < example.size(); i++)
{
something[i] = example[i].y;
}
两期:
glm::vec3
是浮点型,example[i].y
是去return一个浮点值。如果这些是归一化模型顶点,它们很可能都在 [-1,1]
范围内,这意味着 something[i]
将始终分配 -1
、0
或 1
.
something
从未在您提供的代码片段中初始化其内存。这将导致运行时崩溃。你应该写类似
std::vector<float> something(example.size());
我想复制类型向量的 y 分量:std::vector <glm::vec3> example
,因为我无法通过 example.size().y...
之类的操作仅访问该向量的 y 分量。所以,我假设我必须将 y 分量的内容复制到另一个 vector/array,但有没有办法做到这一点?我在想类似的东西:
std::vector <int> something;
for (int i = 0; i < example.size(); i++)
{
something[i] = example[i].y;
}
但它显然不起作用。
谢谢!
您需要确保矢量的大小随着您推入其中的元素而增长。 []
运算符只是一个访问器。
std::vector <int> something;
something.resize(example.size());
for (int i = 0; i < example.size(); i++)
{
something[i] = example[i].y;
}
std::vector <int> something;
for (int i = 0; i < example.size(); i++)
{
something[i] = example[i].y;
}
两期:
glm::vec3
是浮点型,example[i].y
是去return一个浮点值。如果这些是归一化模型顶点,它们很可能都在[-1,1]
范围内,这意味着something[i]
将始终分配-1
、0
或1
.something
从未在您提供的代码片段中初始化其内存。这将导致运行时崩溃。你应该写类似
std::vector<float> something(example.size());