Suspicious usage of sizeof pointer 'sizeof(T)/sizeof(T)'
时间: 2024-01-26 09:02:39 浏览: 136
sun6i-a31.rar_A31_Suspicious
sizeof指针的使用是为了计算指针所指向的数据类型的大小。在C/C++中,sizeof指针的结果是固定的,不会根据指针所指向的具体类型而变化。因此,对于sizeof(pointer)/sizeof(pointer)这样的表达式,结果始终是1。
这种用法可能是出于对指针所指向的数据类型大小的判断,但是sizeof(pointer)/sizeof(pointer)并不能准确地得到数据类型的大小。正确的做法是使用sizeof操作符直接计算数据类型的大小,而不是通过sizeof(pointer)/sizeof(pointer)来计算。
以下是一个示例,演示了如何使用sizeof操作符来计算数据类型的大小:
```c++
#include <iostream>
int main() {
int* ptr;
std::cout << "Size of int: " << sizeof(int) << std::endl;
std::cout << "Size of pointer: " << sizeof(ptr) << std::endl;
return 0;
}
```
输出结果:
```
Size of int: 4
Size of pointer: 8
```
阅读全文