以下代码片段

时间:2016-01-18 11:12:06

标签: c++

请按照代码段解释我

void tsfa_sol::calculate_cost(const pro_base *pb)
{
    const tsfa_pro &tsfap = *(tsfa_pro*)pb; //I can't understand this line
}

非常感谢!

2 个答案:

答案 0 :(得分:0)

它在pb中投射tsfa_pro *然后取消引用它 换句话说,tsfap是对pb指向的内容的引用,使用C样式转换将pbpro_base转换为tsfa_pro

答案 1 :(得分:0)

(tsfa_pro *)pb =最初类型为pro_base的指针“pb”的C样式转换

(星级)(tsfa_pro )pb =指向“pb”的内容,用于输入类型tsfa_pro

const tsfa_pro& tsfap =类型为“tsfa_pro”的常量引用

所以,它分配引用(tsfap),指针(pb)的内容类型转换为类型(tsfa_pro)

希望这有帮助