void * ptr0 = (void*)"Buffer_1";
int size0 = sizeof(ptr0);
// WILL THIS RETURN THE NUMBER OF BYTES OCCUPIED BY THE MEMORY POINTED BY ptr0?
我的要求是
1)存儲在緩衝區&一些數據創建一個void *指針指向它,我在1號線正在做的。
2)後來我想在BYTES中獲得這個緩衝區的大小。第二行將完成這項工作。在C++中使用指向緩衝區(字符串「」)的void指針使用sizeof()以獲取BYTES中的大小?
你所問的是不僅沒有發生什麼變化,但它根本不可能。例如,考慮一下'ptr0'是否指向兩個具有相同開始內容的不同對象(比如說一個整數或者兩個整數的數組)。 sizeof'怎麼能知道你想要的大小? –
只要使用std :: string或std :: vector,你就是在努力的去做一件困難的事情。 –
john