2016-07-14 94 views
1

我正在学习iOS开发,并遇到了一个解密过程中遇到的snipet代码。了解C++结构语法

struct PinchScaleState 
{ 
    PinchScaleState() 
    : currentScale (1.f) 
    , initialPinchScale (1.f) 
    {} 

    float currentScale; 
    float initialPinchScale; 
}; 

我得到的是,上面的代码定义一个C结构,其具有的属性

float currentScale; 
float initialPinchScale; 

但我不确定下面是做

PinchScaleState() 
: currentScale (1.f) 
, initialPinchScale (1.f) 
{} 

什么,我猜测它是设置初始值,但我不确定。

谢谢!

+0

对我来说看起来像一个C++构造函数。在C++中,'struct'和'class'之间的区别有点浑浊。 – user3386109

+0

您要搜索的术语是“初始化程序列表”。 (你的猜测是好的。) – molbdnilo

+3

@ user3386109它不是以任何方式“泥泞”。两者都声明一个类,但默认情况下'struct'的内容和基类是'public'。 – Quentin

回答

1

这是一个C++构造函数。在:之后是一个构造函数初始化列表,它将currentScaleinitialPinchScale的值设置为像您猜测的那样。

+0

完美谢谢!我发现下面的文章有用http://www.informit.com/articles/article.aspx?p=1852519 –