一个保存一些字符串的数组。 当我检查数组中每个字符串的地址时,我发现一个字符串仅占用8个字节,看起来数组只是保存指向字符串的内容,而不是指向字符串对象的内容。 我想知道原因。
我的代码如下所示:
#include <string>
#include <iostream>
using namespace std;
int main()
{
string nums[] = {"oneoneoneoneoneoneone",
"twotwotwotwotwotwotwotwotwo",
"threethreethreethreethreethreethreethreethreethreethree"};
for (int i = 0; i < 3; ++i) {
cout << &nums[i] << endl;
}
}
该程序的结果显示:
0x7ffe432ba6f0 0x7ffe432ba6f8 0x7ffe432ba700
第二项的地址比第一项的地址大8个字节。