class Class1
{
int data;
int *dataPtr;
}
int main()
{
Class1 object;
Class1 *objectPtr = &object;
object.data = 1100;
object.dataPtr = &(object.data)
std::cout << object.dataPtr << std::endl; //0x22aaa4
std::cout << (void *) (object.data) << std::endl; //0x1b198
std::cout << (void *) &(object.data) << std::endl; //0x22aaa4
Почему (void *) (object.data)
отличается от object.dataPtr
?Почему указатель void отличается от значения ссылки?
, если я хочу скопировать значение из другого места в object.data
с помощью memcpy, в какую ячейку памяти я использую?
memcpy((void *) (object.data), source, size);
или
memcpy((void *) &(object.data), source, size);
Спасибо!
Один конвертирование целого числа в ничтожном *, один вы получите адрес этого целого. – BWG
Я не вижу здесь никаких ссылок. –
Этот вопрос невероятно запутан. Для начала вы никогда не используете 'objectPtr'. Во-вторых, это недействительно C++. –