C++ 指向vector[0]的指针

结论:指针p指向vector的第0个元素 p = &v[0] 可以使用p[i]继续访问vector的其他元素,见test3

今天看到一种新的写法:p = &v[0],并在后续使用p[i]继续访问vector v的其余元素,没有搜索到解释,自己测试一下

#include 
#include 

/* 测试目的,指针p0指向vector的第0个元素  p = &v[0]  可以使用p[i]继续访问vector的其他元素,见test3
   下面代码的输出结果都相同 */

using namespace std;

typedef struct Position
{
    float   x;
    float   y;
} position_t;

int main()
{
    std::vector t1;
    for(int i=0;i<5;i++)
    {
        position_t p1;
        p1.x = (float)i;
        p1.y = (float)(i+1);
        t1.push_back(p1);
    }

    std::cout << "======test1: orig vector=========\n";
    for(int i=0;i * pv;
    pv = &t1;
    std::cout << "======test2: vector point=========\n";

    for(int i=0;isize();i++)
    {
        std::cout << "x: " << pv->at(i).x << ", y: " << pv->at(i).y << std::endl;
    }
    /* 指向vector[0]的指针 */
    position_t * p0;
    p0 = &t1[0];
    std::cout << "======test3: vector[0] point=========\n";

    for(int i=0;i

编译后输出:

g++ test_vector.cpp -o test
./test

C++ 指向vector[0]的指针_第1张图片

你可能感兴趣的:(c++,开发语言)