我有一个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++ ×1