C++标准说:
18.2/2内容与标准C库头相同,但有以下更改:
18.2/6类型size_t是一个实现定义的无符号整数类型,它足够大,可以包含任何对象的字节大小.
18.2/7 [注意:建议实现选择ptrdiff_t和size_t的类型,其整数转换等级(4.13)不大于signed long int的类型,除非需要更大的大小来包含所有可能的值. - 尾注]
因此,它不说实现定义的无符号整型明确是否会之一unsigned short,int,long,long long.18.2/6存在并指定"实现定义的无符号整数类型"的事实可以看作覆盖18.2/2的后续C的默认值,因此C的任何答案都不可信任.
建议重新转换排名意味着size_t预期将是4.13中提到的类型之一,其中size_t没有明确提及,但明显的候选人是,但这不是保证.
我是否需要为size_t提供单独的专业化?
当一个不同的类型时你可以使用std::is_same和std::enable_if这样做size_t....
| 归档时间: |
|
| 查看次数: |
728 次 |
| 最近记录: |