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