C++ 检查是否已设置glm::vec3

C++ 检查是否已设置glm::vec3,c++,glm-math,C++,Glm Math,如果我将一个值声明为glm::vec3 myVector我可以检查一下吗 通过执行 if (!myVector) { setVector(myVector); } 或者,当您将向量声明为 glm::vec3 myVector; 它没有初始化,您需要声明为: glm::vec3 myVector(0.0); 要正确初始化为0 顺便说一句: : 如果向量构造函数只有一个标量参数,则为 用于将构造向量的所有组件初始化为 标量值 glm::vec3是由3个浮点元素组成的向量,它没有空值的

如果我将一个值声明为
glm::vec3 myVector我可以检查一下吗
通过执行

if (!myVector) { 
  setVector(myVector); 
} 

或者,当您将向量声明为

glm::vec3 myVector;
它没有初始化,您需要声明为:

glm::vec3 myVector(0.0);
要正确初始化为0

顺便说一句:

:

如果向量构造函数只有一个标量参数,则为 用于将构造向量的所有组件初始化为 标量值


glm::vec3
是由3个浮点元素组成的向量,它没有空值的概念。@RichardCriten GLM是否有一些默认构造函数,它默认为一个值,或者它只是3个浮点的一个typedef。您建议创建一个布尔值来检查它是否已被设置,因为我不想给它一个值,因为所有的值都是空的possible@FrickeFresh我理解你的意图,你找到好答案了吗?我正在使用一个单独的布尔值,或者只使用一个元素创建一个堆栈,然后检查它是否为空,这听起来有点过头了。@DNax我从未找到任何东西,我只是重构了我的代码,所以我没有这个挂起的声明值,并始终确保它已初始化。
if (!myVector) { //It is always false, because, it is a reference to a local variable, not a pointer.