任何人都可以告诉我他们是否正确(我怀疑不是),如果没有,我该如何解决?
#define MAX_MEMORY_BLOCK (sizeof(size_t)==2,65535,2147483647)#define MAX_ARRAY_SIZE (sizeof(size_t)==2,16384,1073741824)解决方法 它们包含逗号运算符;只有最后一个值’计数’,所以它们相当于:
#define MAX_MEMORY_BLOCK (2147483647)#define MAX_ARRAY_SIZE (1073741824)
或者,有人忘记了三元运算符使用?::
#define MAX_MEMORY_BLOCK (sizeof(size_t)==2 ? 65535 : 2147483647)#define MAX_ARRAY_SIZE (sizeof(size_t)==2 ? 16384 : 1073741824)
但是,很少有现代系统中sizeof(size_t)== 2(虽然可能有一些,特别是在嵌入式计算领域).
总结以上是内存溢出为你收集整理的这些奇怪的宏定义意味着什么(甚至它们是否正确?)全部内容,希望文章能够帮你解决这些奇怪的宏定义意味着什么(甚至它们是否正确?)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)