adafruit 示例中奇怪的 class 实例化

Bizare class instantation in adafruit example

我无法弄清楚使用此语法 Adafruit_8x8matrix matrix = Adafruit_8x8matrix(); 初始化 class 实例的好处,而 Adafruit_8x8matrix matrix; 可以。与我的简化语法相比,以前的语法有什么好处吗?我测试了两者,它对编译器没有影响,而且我没有这个库应该使用的模块,所以我不能真正地对它进行基准测试。我在其他地方从未见过这种语法,所以我真的很想知道这是怎么回事。

Link to example 我 fork 它是因为我喜欢我的部门和我的项目在同一个 repo 中。

从技术上讲,第一种语法创建一个临时对象并使用它来复制构造矩阵对象。第二种语法避免了额外的复制并直接构造矩阵。所以你的简化语法更好。但是,编译器可能会优化差异,因此最终的目标代码将是相同的。