小编Gui*_*ida的帖子

为什么std :: adressof()在无效输入上的行为如此?

所以说我有以下代码:

int main(int argc, char *argv[])
{
    int input;
    cin >> input;
    cout << std::addressof(input) << endl;
    main(argc, argv);
}
Run Code Online (Sandbox Code Playgroud)

如果你给它一个有效的int输入它只会打印一个普通的地址,但是,如果你给它一个无效的值(即"这是一个字符串值","kasdkjadlksnkqlw~"或9999999999999999999),它将继续打印地址.

为什么它会像这样?这是一个所谓的缓冲区溢出吗?附加:如何在本网站上启用语法高亮显示?

c++ pointers

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

标签 统计

c++ ×1

pointers ×1