摘要: boost any庫(轉(zhuǎn))
1. 可容納許多可能值類型的類型,比如int和string,并且可在它們之間自由
轉(zhuǎn)換,例如:將5作為"5"或者反之。這樣的類型在腳本語言和其他的解釋型語言中
較常見。boost::lexical_cast支持這種轉(zhuǎn)換功能。
2. 含有不同類型的值但并不試圖在它們之間進行轉(zhuǎn)換的可區(qū)分類型,即5嚴格
地作為一個int存放,不能隱式轉(zhuǎn)換為"5"或者5.0。它們不關(guān)心解釋,而關(guān)心有效
的類型安全性,是單一值的范型容器,不會產(chǎn)生有歧義的轉(zhuǎn)換。
3. 不可區(qū)分的類型,可以引用任何實際的類型,由程序員來保證所有形式的
訪問和解釋。C++中的void*提供了這樣的功能,同時它也會導(dǎo)致不確定的行為。
閱讀全文