【发布时间】:2011-03-16 14:28:51
【问题描述】:
我想在编译时知道指针类型的值范围。 limits.h 仅指定纯数字类型的最大值和最小值。我不希望使用硬编码的常量,也不想使用sizeof(foo*) 计算最大值。
【问题讨论】:
-
解释您要解决的问题,而不是询问如何实施您选择的解决方案。我在这里闻到一股很刺鼻的味道。
-
你想让编译器检测系统中有多少内存可用??
-
除 NULL 外,指针中的实际值是不透明的。即使 NULL 也不能保证具有任何类型的位模式,只是它是唯一的。如果您只想了解 32 位与 64 位架构,编译器特定的
#defines会告诉您。 -
re:Amardeep,一个模板化的 trie 容器类,根据用作其提供的键类型的标记的类型的最大值和最小值进行参数化。我想使用指针列表作为我的键类型,因此将指针作为令牌类型。为了完成参数化,我需要有效指针值的范围。
-
为什么您不想使用
sizeof计算最大值?