回答之前有關面向密鑰的可重用性的問題訪問保護模式,本討論研究了改進和潛在的增強功能。
為了增強標準 C 03 中的模式,引入了基於巨集的解決方案。這種方法引入了用於模板參數擴充的 EXPAND 和用於定義友元類別金鑰的 PASSKEY 巨集。雖然這簡化了金鑰定義,但仍然要求呼叫者指定他們需要的金鑰。此外,宏語法可能被認為很麻煩。
C 0x 引入了簡化模式的重大進展。可變參數模板使函數能夠聲明自己的密鑰並允許模板參數成為朋友。這些功能可實現高度表現力和通用的解決方案。
更新後的模式利用了金鑰範本和允許類別。 passkey 將自身與特定的類別或函數關聯起來,允許該類別或函數進行獨佔存取。 allow 依據其範本參數中指定的金鑰驗證金鑰是否已獲得授權。
C 0x 解有多種優點:
對標準 C 03 和 C 0x 提出的改進顯著增強了面向密鑰的可重用性和表現力訪問保護模式。特別是 C 0x 解決方案提供了高度通用且方便的實作。
以上是如何在 C 03 和 C 0x 中改進以金鑰為導向的存取保護?的詳細內容。更多資訊請關注PHP中文網其他相關文章!