在C++中指向缓冲区(字符串"")的void指针上使用sizeof()以获得BYTES的大小?

cod*_*ver 0 c++ pointers sizeof void-pointers visual-c++

void * ptr0 = (void*)"Buffer_1";
int size0 = sizeof(ptr0);
// WILL THIS RETURN THE NUMBER OF BYTES OCCUPIED BY THE MEMORY POINTED BY ptr0?
Run Code Online (Sandbox Code Playgroud)

我的要求是
1)在缓冲区中存储一些数据并创建一个void*指针,我在第一行做.
2)后来我想在BYTES中获得这个缓冲区的大小.第二行将完成这项工作.

Alo*_*ave 6

sizeof返回类型所需的大小.由于sizeof在这种情况下传递给的类型是指针,它将返回指针的大小.

如果您需要指针指向的数据大小,则必须通过显式存储它来记住它.