我正在尝试理解以下代码:

lock_server::lock_server(class rsm *_rsm)
{
//code
}


我知道这是该类的构造函数,但我不理解其参数。
我猜这是一个指向类的指针(名称为_rsm)?那有意义吗?在哪里可以找到有关此文件的文档?

最佳答案

在C ++中,在术语class之前不需要关键字rsm(与在C中必须指定单词struct的情况不同)。

但这并不意味着它是被禁止的,并且无论谁写的人都认为这是一种好的风格,尽管很直观地rsm是某种类型的类型(不一定是类,可以是类的typedef)

该构造函数的目的是使用指向可修改的lock_server对象的指针构造rsm类型的对象。我的猜测是rsm具有某种lock方法,该方法将从构造函数中调用,而unlock方法将从析构函数中调用。

lock_server类的目的是实现所谓的RAII:一个愚蠢的首字母缩写词,但在现实生活中,它意味着自动化的资源管理-当对象离开作用域时,析构函数将在其中释放其持有的资源,在这种情况下,锁定到rsm对象。

10-06 13:32