Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 5.00
pEntity
10 / 5 / 1
Регистрация: 12.12.2012
Сообщений: 371
17.06.2014, 08:03     Как верно узнать размер указателя ? #1
C++
1
СBaseTest* pTest[] = { new СBaseTest, new СOther };
Нужно узнать размер pTest
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 08:03     Как верно узнать размер указателя ?
Посмотрите здесь:

Как узнать текущее положение указателя файла? C++
C++ Как узнать адрес указателя на char?
Как узнать размер массива? C++
C++ Как узнать размер массива
C++ Как узнать размер массива?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.06.2014, 01:58     Как верно узнать размер указателя ? #21
Цитата Сообщение от pEntity Посмотреть сообщение
Не понимаю. Покажите пример.
Покажите свой вектор, и что хотите узнать.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pEntity
10 / 5 / 1
Регистрация: 12.12.2012
Сообщений: 371
18.06.2014, 02:01  [ТС]     Как верно узнать размер указателя ? #22
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>());
Нужно узнать размер вектора.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.06.2014, 02:09     Как верно узнать размер указателя ? #23
Цитата Сообщение от pEntity Посмотреть сообщение
Нужно узнать размер вектора.
C++
1
int n = vTest.size();
pEntity
10 / 5 / 1
Регистрация: 12.12.2012
Сообщений: 371
18.06.2014, 02:17  [ТС]     Как верно узнать размер указателя ? #24
А, вот я дурак не внимательный, я же забыл скобки у .size
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.06.2014, 02:18     Как верно узнать размер указателя ? #25
Цитата Сообщение от pEntity Посмотреть сообщение
я же забыл скобки у .size
14 пост.
pEntity
10 / 5 / 1
Регистрация: 12.12.2012
Сообщений: 371
19.06.2014, 05:34  [ТС]     Как верно узнать размер указателя ? #26
А как в vTest записать данные через конструктор и узнать их?
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
19.06.2014, 06:03     Как верно узнать размер указателя ? #27
Цитата Сообщение от pEntity Посмотреть сообщение
А как в vTest записать данные через конструктор и узнать их?
11 пост.
pEntity
10 / 5 / 1
Регистрация: 12.12.2012
Сообщений: 371
19.06.2014, 06:29  [ТС]     Как верно узнать размер указателя ? #28
Что-то я с вами совсем запутался. И объясните про 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;

Всё верно понял?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.06.2014, 08:03     Как верно узнать размер указателя ?
Еще ссылки по теме:

C++ Как узнать адрес указателя?
C++ Как узнать длину указателя (в байтах)?
как узнать размер строки? C++

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

Или воспользуйтесь поиском по форуму:
0x10
2425 / 1597 / 232
Регистрация: 24.11.2012
Сообщений: 3,919
19.06.2014, 08:03     Как верно узнать размер указателя ? #29
pEntity, что мешает взять и проверить? Сходу могу только сказать, что если уж у нас векторуказателей, то и доступ к полям будет через оператор ->, а не через точку.
Yandex
Объявления
19.06.2014, 08:03     Как верно узнать размер указателя ?
Ответ Создать тему
Опции темы

Текущее время: 11:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru