Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
351 / 270 / 67
Регистрация: 12.12.2012
Сообщений: 2,133

Как верно узнать размер указателя ?

17.06.2014, 08:03. Показов 3662. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
СBaseTest* pTest[] = { new СBaseTest, new СOther };
Нужно узнать размер pTest
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2014, 08:03
Ответы с готовыми решениями:

Как узнать адрес указателя?
(void *)str показывает адрес строки, а как узнать адрес указателя? char *str = "bla-bla-bla"; cout << "Value of str is:...

Как узнать адрес указателя на char?
Например, вот есть массив символов и указатель. И указателю присваиваем адрес этого массива. А как узнать адрес самого указателя? char...

Как узнать длину указателя (в байтах)?
как узнать длину указателя(в байтах) sizeof(указатель)почему то не работает?

28
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
18.06.2014, 01:58
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от pEntity Посмотреть сообщение
Не понимаю. Покажите пример.
Покажите свой вектор, и что хотите узнать.
0
351 / 270 / 67
Регистрация: 12.12.2012
Сообщений: 2,133
18.06.2014, 02:01  [ТС]
C++
1
2
3
4
std::vector<std::shared_ptr<CBaseTest>> vTest;
 
    vTest.push_back(std::make_shared<CBaseTest>());
    vTest.push_back(std::make_shared<COther>());
Нужно узнать размер вектора.
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
18.06.2014, 02:09
Цитата Сообщение от pEntity Посмотреть сообщение
Нужно узнать размер вектора.
C++
1
int n = vTest.size();
1
351 / 270 / 67
Регистрация: 12.12.2012
Сообщений: 2,133
18.06.2014, 02:17  [ТС]
А, вот я дурак не внимательный, я же забыл скобки у .size
0
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
18.06.2014, 02:18
Цитата Сообщение от pEntity Посмотреть сообщение
я же забыл скобки у .size
14 пост.
1
351 / 270 / 67
Регистрация: 12.12.2012
Сообщений: 2,133
19.06.2014, 05:34  [ТС]
А как в vTest записать данные через конструктор и узнать их?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
19.06.2014, 06:03
Цитата Сообщение от pEntity Посмотреть сообщение
А как в vTest записать данные через конструктор и узнать их?
11 пост.
0
351 / 270 / 67
Регистрация: 12.12.2012
Сообщений: 2,133
19.06.2014, 06:29  [ТС]
Что-то я с вами совсем запутался. И объясните про shared_ptr, я не осилил это:

Создает и возвращает shared_ptr, указывающего на выбранным объектам, построенных с нуля или больше аргументов с помощью распределителя по умолчанию.
Давайте разберемся.

Мне нужны были указатели на класс CBaseTest и COther для доступа к их членам и методам.

Вы подсказали сделать так:

C++
1
2
3
4
std::vector<std::shared_ptr<CBaseTest>> vTest;
 
vTest.push_back(std::make_shared<CBaseTest>());
vTest.push_back(std::make_shared<COther>());
Теперь я могу обращаться к CBaseTest - vTest.at( 0 ).MyFunc(); a к COther - COther.at( 1 ).MyFunc();

Теперь мне надо создать пару переменных для класса CBaseTest и записывать их, можно сделать так?


C++
1
2
3
4
5
    CBaseTest( int iNum )
    {
        iNumGlobal = iNum ;
        vector.push_back(std::make_shared<CBaseTest>( iNum ) );
    }
Выходит я смогу получить значение iNumGlobal так = vTest.at( 2 ).iNumGlobal;

Всё верно понял?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
19.06.2014, 08:03
pEntity, что мешает взять и проверить? Сходу могу только сказать, что если уж у нас векторуказателей, то и доступ к полям будет через оператор ->, а не через точку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.06.2014, 08:03

Как узнать текущее положение указателя файла?
Как узнать текущее положение указателя файла в байтах?

Как узнать размерность указателя на массив
Такой вопрос, создаю динамический массив, но т.к. это указатель, то при запросе размерности показывает размер области памяти, занимаемой...

Как узнать размер строки как размер массива
const char* test_str = &quot;01234\x00 789&quot;; //очевидно, что strlen(test_str) == 5; sizeof(test_str) == 4; sizeof(*test_str) == 1; ...

Как узнать размер файла
Вобщем программа -кодировщик методом Хаффмана, взята из интернета. Нужно добавить к ней вывод размера входного файла и сжатого.. ...

Как узнать размер файла?
Можете подсказать, какая функция показывает размер файла?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru