Python有一个有趣的for语句,允许您指定一个else子句.
在像这样的结构中:
for i in foo:
if bar(i):
break
else:
baz()
Run Code Online (Sandbox Code Playgroud)
该else子句在之后执行for,但仅在for正常终止时(不是由a break)终止.
我想知道C++中是否有相同的东西?我可以用for ... else吗?
我想得到sizeof一个向量中包含的类型.这是我尝试过的:
#include <iostream>
#include <vector>
int main()
{
std::vector<uint> vecs;
std::cout << sizeof(vecs.value_type) << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这应该是正确的.但是,在使用GCC 4.8.1进行编译时,这就是我得到的:
test-sizeof.cpp: In function ‘int main()’:
test-sizeof.cpp:7:27: error: invalid use of ‘std::vector<unsigned int>::value_type’
std::cout << sizeof(vecs.value_type) << std::endl;
^
我究竟做错了什么?如何获得所包含类型的大小?