[英]How do you get the number of elements in a std::map as an unsigned long?
如何将std :: map中的元素数量作为unsigned long?
假设你有一个像这样的对象:
std::map<unsigned long, someClass *> myNightmare;
我一直试图弄清楚如何获得它的元素数量。 你看,我需要这个数字作为无符号长整数,这样做似乎不正确:
unsigned long count = myNightmare.size();
那么你应该如何将元素的数量作为无符号长?
使用静态演员。
long unsigned mySize = static_cast<long unsigned>(myNightmare.size());
要真正可移植和正确,你应该使用标准的std::size_t
或更精确的std::map<unsigned long, someClass*>::size_type
。
后者是从std::map::size
返回的类型,但它通常不同于更通用的std::size_t
。
如果你真的想继续使用long unsigned
,那么你的行:
unsigned long count = myNightmare.size();
将为您执行隐式转换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.