我们可以提高面向密钥的访问保护模式的可重用性吗?
提供的模式利用友元类来控制对方法的访问,仅向拥有特定密钥的人授予访问权限。虽然有效,但由于重复友元声明以及需要在方法的参数列表中指定密钥,这种方法可能会变得很麻烦。
C 03 中的解决方案:
在 C 03 中,基于宏的方法可以通过减少友元声明的数量并允许在方法定义之外创建万能密钥来增强可用性。宏用于定义可以轻松为不同友元类生成的密钥,从而简化代码并使其更易于维护。然而,该解决方案存在局限性,例如需要知道特定的密钥名称以及存在一组密钥定义,这可能会被认为是笨拙的。
C 0x 中的解决方案:
C 0x 引入了重大增强功能,可以更清晰、更具表现力地实现
C 0x 中的实现涉及定义一个代表每个类的唯一密钥的密钥模板和一个检查的允许模板如果特定函数允许使用密钥,则基于该函数的模板参数。这种方法具有显着的优点:
以上是我们能否增强 C 语言中面向密钥的访问保护的可重用性?的详细内容。更多信息请关注PHP中文网其他相关文章!