1.c++结果输出右对齐
foutC.setf(ios::fixed, ios::floatfield);
foutC
<<imu_msg->header.stamp.toSec()<<" "
<<std::setw(10)<<std::setfill(' ')<<imu_msg->linear_acceleration.x<<" "
<<std::setw(10)<<std::setfill(' ')<<imu_msg->linear_acceleration.y<<" "
<<std::setw(10)<<std::setfill(' ')<<imu_msg->linear_acceleration.z<<" "
<<std::setw(10)<<std::setfill(' ')<<imu_msg->angular_velocity.x<<" "
<<std::setw(10)<<std::setfill(' ')<<imu_msg->angular_velocity.y<<" "
<<imu_msg->angular_velocity.z
<<endl;
foutC.close()
想要在有负号的情况下数据右对齐,需要每个输出的输出对要对应的setw和setfill。最后一行数据没有设置,所以没有对齐
2.for(const auto &sat:sat2ephem)
&引用是为了避免拷贝(如果拷贝的对象是个包含很多元素的vector,则开销会很大)
const则是为了避免意外修改引用的对象,const和&通常一起使用