为什么GLM构造函数都是显式的?

spr*_*aff 6 c++ glm-math

我已经开始在我的代码中使用GLM库.看起来很不错但我做不到这样的事情:

void foo (const glm :: vec3 & arg);

foo ({x, y, z});
Run Code Online (Sandbox Code Playgroud)

因为构造函数都是显式的.

这开始惹恼了我.我想不出有理由禁止隐含构造这种简单的值类型.作者是否盲目地遵循一些无关紧要的格言,或者他们知道我不知道的事情吗?

Naj*_*ati 3

在最新版本中他添加了 C++11;请参阅 README 中 0.9.5.0 的更改

https://github.com/g-truc/glm

并在 g-truc 下载

http://glm.g-truc.net/

我刚刚将其放入我的项目中,一切似乎都很好。初始化列表是一个受欢迎的补充。

另外,我同意在 :: 周围放置空格会使解析该签名有点困难,至少对我的大脑来说是这样。