当前位置:  开发笔记 > 程序员 > 正文

64位可移植性问题

如何解决《64位可移植性问题》经验,为你挑选了1个好方法。

所有这些都源于我在尝试以下行时编写了一条编译器警告消息(C4267):

const unsigned int nSize = m_vecSomeVec.size();

size()返回size_t虽然typedef为unsigned int,但实际上并不是unsigned int.我认为这与64位可移植性问题有关,但有人可以为我解释一下吗?(我不只是想禁用64位警告.)



1> Johannes Sch..:

这取决于实施.std::size_t例如,具有最小的所需尺寸.但没有上限.要避免这种情况,请始终使用正确的typedef:

const std::vector::size_type nSize = m_vecSomeVec.size();

那么你将永远保持安全.

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有