这里有两个::,中间有个赋值符号,这中表达什么意思?
static const AP_InertialSensor::Sample_rate ins_sample_rate = AP_InertialSensor::RATE_100HZ;
这是命名空间或者类的成员运算符。
比如
std::cout
或者
CDialog::Show()
名字空间,给变量ins_sample_rate ,类型是AP_InertialSensor::Sample_rate 赋值AP_InertialSensor::RATE_100HZ;
如果 :: 前面没有内容,则是取全局变量或函数的意思
如果 ::前后都有内容,则是指取前面的类或全名空间的成员
我感觉是类里面的重载还是什么玩意儿的。。。。。
static是静态变量的意思,意思是AP_InertialSensor类中的Sample_rate ins_sample_rate是静态的,所有实例中只有一份拷贝。
const表示这个类是在初始化的赋值后值不能被改变。也就是说在这个语句执行完以后,不能再对AP_InertialSensor::Sample_rate ins_sample_rate进行赋值了。
从 AP_InertialSensor::RATE_100HZ的引用方式来看,RATE_100HZ也是静态的。这是个赋值语句。
这名话的总体意思是将AP_InertialSensor::RATE_100HZ的值赋值给AP_InertialSensor::Sample_rate ins_sample_rate,并且AP_InertialSensor::Sample_rate ins_sample_rate的值不能再改变了。