Есть код
#include <iostream>
using namespace std;
int main()
{
bool *a = new bool(true);
cout << a << endl;
cout << *a << endl;
cout << &a << endl;
}
И он выводит
0x4414f10
1
0x71d2e85b4548
Но что значат первое и третье число? Что из них адрес?
Первое число - адрес созданной с помощью new
переменной типа bool
.
Второе - значение этой переменной.
Третье - адрес переменной, в которой хранится первое значение.
Можно с комментариями:
bool *a = new bool(true);
// занимаем память в размере sizeof(bool*) с именем 'a', где записываем
//адрес обьекта, созданная в динамической памяти
// и занятая нами память для указателья имеет адрес
cout << "адрес в динамической памяти _ " << a << endl;
cout << "значение обьекта _ " << *a << endl;
cout << "адрес в локальной памяти _ " << &a << endl;
указатель занимает память в одно машинное слово. Это 4 байта или 8, зависит от машины.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
//*не учитывая как осуществляется вызов 1 или 2 способ (результат тот же)
Есть задание: Осуществить поиск указанного (с клавиатуры) элемента в массиве, используя указанный метод поиска)Метод поиска: Бинарный