gpt4 book ai didi

c++ - sizeof(*p) 我的结果是否未定义?

转载 作者:行者123 更新时间:2023-11-30 00:47:15 26 4
gpt4 key购买 nike

在这段代码中,我取消引用了一个未初始化的元素。我的结果是否未定义?

int x[10];
int *p = x;

cout << sizeof(p) / sizeof(*p) << endl;

最佳答案

cout << sizeof(p) / sizeof(*p) << endl;

是完全合法的,但不是完全有效的代码。 sizeof 在编译时计算。如果它们不能在编译时被评估,你会得到编译器错误。

惊喜将是预期的结果。您不会得到 10。要获得 10,您需要使用:

cout << sizeof(x) / sizeof(x[0]) << endl;

关于c++ - sizeof(*p) 我的结果是否未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35465431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com