使用参数初始化

使用参数初始化

问题描述:

我正在关注本教程中关于C++音频编程的知识,这些知识我都不明白;第四行假设代表什么?我知道我没有创建一个AudioObject的实例,因为我没有用new关键字实例化它。但是,为什么可以给它分配属性?这非常类似于一个函数声明,它让我感到困惑,因为声音被用作我主体其他地方的参考。 e.g使用参数初始化

SampleInfo info; //struct 
info.volume = 1.0; 

AudioObject sound(info, data); //<--this line 


//why can assign info, data 
+3

你明白错误;以下是可能有帮助的C++书籍清单:[The Definitive C++ Book Guide and List](http://*.com/questions/388242/the-definitive-c-book-guide-and-list)。 –

+0

阅读“最痛苦的解析”:https://en.wikipedia.org/wiki/Most_vexing_parse –

+3

@AlexZywicki它确实是一个很好的阅读,但这里虽然没有最令人烦恼的解析。 – vsoftco

你实际上与automatic storage duration创建AudioObject的实例,而不是一个动态分配的情况下(通过new)。 infodata是您传递给构造函数的参数。避免使用new,除非您真的需要它,C++不是Java。

+0

哈哈thx很多,现在我知道至少我在看什么! –