我的问题是关于向量元素的指针。下面,我初始化一个char类型的向量和一个char *类型的指向该向量中元素的指针。我希望在打印指针时看到该矢量的元素地址,但从我创建的指针中获取了矢量的元素。
我用一个指向int的指针尝试了同样的操作,并得到了我期望的结果。
向量和指向其元素的指针有何不同?
#include <iostream>
int main() {
char char_v[] = {'a', 'b', 'c', 'd'};
char* char_p = &char_v[1];
int a = 2;
int* int_p = &a;
std::cout << char_p << std::endl; //prints bcd (expected to see address of element)
std::cout << *char_p << std::endl; //prints b
std::cout << char_v[1] << std::endl; //prints b
std::cout << a << std::endl; //prints 2
std::cout << int_p << std::endl; //prints 0x7ffeec35775c (expected this above)
return 0;
}