sách gpt4 ăn đã đi

C++ 自引用数组?

In lại Tác giả: IT Lão Cao 更新时间:2023-10-28 21:56:57 26 4
mua khóa gpt4 giày nike

我不小心通过在数组中的自引用在程序中创建了一个错误。这是一个非常简化的演示程序,概念类似:

#include 
sử dụng không gian tên std;

int kTest[] = {
kTest[0]
};

int chính() {
cout << kTest[0] << endl;
}

我很惊讶我没有收到编译器错误,甚至没有收到有关此代码的警告!就我而言,它最终产生了不可预测的输出。是在访问垃圾内存吗?

我很好奇在什么情况下会有明确定义的输出(如果有的话!)。

biên tập:如果 kTest Đúng tĩnh 有区别吗? hằng số 呢?两者都有?

câu trả lời hay nhất

int kTest[] = {
kTest[0]
};

类似于,如果不完全相同的话

int x = x;

如果在函数中本地声明,它将是未定义的行为。

khi kTest 是一个全局变量时,它似乎定义得很好。见 the other answer了解更多详情。

关于C++ 自引用数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40138325/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress