Archive for the ‘STL’ Category

About size_t and ptrdiff_t

size_t和ptrdiff_t都与机器和平台有关。

size_t的基础是无符号整型,但是它能存储理论上数组的最大值。在32位系统上它是32位的,在64位系统上它是64位的,因此一个size_t类型的变量能够安全的存储一个指针。size_t类型的最大值是常量SIZE_MAX。

ptrdiff_t的基础是有符号整型,但是它能存储理论上数组的最大值。在32位系统上它是32位的,在64位系统上它是64位的,因此一个ptrdiff_t类型的变量能够安全的存储一个指针。ptrdiff_t类型还是两个指针(地址)相减的返回值类型。

详细请见:

http://blog.163.com/lgy-047/blog/static/61346565200910921449408/

new operator, operator new and placement new

new operator由C++语言定义,分配空间(调用operator new),构造对象(调用placement new)。详细请见:

http://www.cnblogs.com/swpattern/archive/2010/05/11/1732352.html

模板特化

模板特化分为全特化和偏特化。详细请见:

http://hi.baidu.com/klcdyx2008/blog/item/5adbf77b79f316f90bd1873c.html

更改:文中说“但是不幸的是,模板的偏特化机制不能用在函数身上,不论成员函数还是非成员函数.”应该是不对的,SGI STL中的__uninitialized_copy_aux、__uninitialized_fill_aux、__uninitialized_fill_n_aux三个函数都使用到了模版的偏特化。

无觅相关文章插件,快速提升流量