回答之前有关面向密钥的可重用性的问题访问保护模式,本讨论研究了改进和潜在的增强功能。
为了增强标准 C 03 中的模式,引入了基于宏的解决方案。这种方法引入了用于模板参数扩展的 EXPAND 和用于定义友元类密钥的 PASSKEY 宏。虽然这简化了密钥定义,但仍然要求调用者指定他们需要的密钥。此外,宏语法可能被认为很麻烦。
C 0x 引入了简化模式的重大进步。可变参数模板使函数能够声明自己的密钥并允许模板参数成为朋友。这些功能可实现高度表现力和通用的解决方案。
更新后的模式利用了密钥模板和允许类。 passkey 将自身与特定的类或函数关联起来,允许该类或函数进行独占访问。 allow 根据其模板参数中指定的密钥验证密钥是否已获得授权。
C 0x 解决方案具有多种优势:
对标准 C 03 和 C 0x 提出的改进显着增强了面向密钥的可重用性和表现力访问保护模式。特别是 C 0x 解决方案提供了高度通用且方便的实现。
以上是如何在 C 03 和 C 0x 中改进面向密钥的访问保护?的详细内容。更多信息请关注PHP中文网其他相关文章!