像java中的array.length是否在c ++中有任何内置方法来查找数组的大小?
我知道长度().但它只适用于字符串......
我试过这个......
int a[10];
a[0]=1;
a[1]=2;
print(sizeof(a)/size(a[0]))
Run Code Online (Sandbox Code Playgroud)
但它输出为10但是有一种方法只能输出2
Spo*_*ook 11
如果您正在使用C++,请不要使用数组,std::vector而是使用(特别是如果您需要当前持有的项目数,而不是容器的容量).然后你可以写:
std::vector<int> vec;
vec.push_back(1);
vec.push_back(2);
printf("%d\n", vec.size());
Run Code Online (Sandbox Code Playgroud)
int a[10];
Run Code Online (Sandbox Code Playgroud)
声明一个10个整数的数组; 当然,你只是初始化前两个,但其他8个仍在那里,他们只是(可能)充满了垃圾.
要做你想做的事,你应该用一个std::vector代替.然后你可以这样做:
std::vector<int> a;
a.push_back(1);
a.push_back(2);
std::cout << a.size() << std::endl; // prints 2
Run Code Online (Sandbox Code Playgroud)