64,282
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a[]= {"str", "heo", "abc"};
cout<<sizeof(a)<<endl;
cout<<sizeof(string)<<endl;
cout<<sizeof(a)/sizeof(string)<<endl;
return 0;
}
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void fun(string *a)
{
cout << sizeof(a)/sizeof(string) << endl;
}
int main()
{
string a[2] = {"aaa", "bbb"};
fun(a);
cout << sizeof(a)/sizeof(string) << endl;
return 0;
}
为什么两个输出结果不一样啊?
sizeof(array) / sizeof((array)[0])
#define numof(array) sizeof(array) / sizeof(array[0])
void fun(string a[])
{
cout << sizeof(a)/sizeof(string) << endl;//mark
}
#include <iostream>
#include <string>
using namespace std;
void fun(string a[])
{
cout << sizeof(a)/sizeof(string) << endl;//mark
}
int main()
{
string a[2] = {"aaa", "bbb"};
fun(a);
return 0;
}