小编Med*_*nzo的帖子

使用带有成员函数的 vector::data() 链接打印不同的值作为指针算法

我有一个hello带有返回vector成员的方法的类。

我正在尝试使用vector::data()指针算法打印出值,但我面临未定义的行为。请参阅下面的示例:

class hello
{
public:
    std::vector<int> data()
    {
        return v;
    }

private:
    std::vector<int> v{1, 2, 3, 4};
};

int main(int argc, const char **argv)
{
    hello h;

    std::cout << "----------------------------" << std::endl;
    for (int i = 0; i < 4; i++)
    {
        std::cout << &*(h.data().data() + i) << std::endl;
        std::cout << *(h.data().data() + i) << std::endl;
    }

    int *sa = h.data().data();
    std::cout << "----------------------------" << std::endl;

    for (int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
44
查看次数

标签 统计

c++ ×1