Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
hellbu
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 7
1

Как узнать длину указателя (в байтах)?

04.05.2015, 12:23. Просмотров 1097. Ответов 5
Метки нет (Все метки)

как узнать длину указателя(в байтах)
C++
1
sizeof(указатель)
почему то не работает?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2015, 12:23
Ответы с готовыми решениями:

Как узнать размер std::wstring в байтах?
:) ну как бэ вопрос в шапке :)

Как узнать адрес указателя?
(void *)str показывает адрес строки, а как узнать адрес указателя? char *str...

Как верно узнать размер указателя ?
СBaseTest* pTest = { new СBaseTest, new СOther }; Нужно узнать размер pTest

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

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

5
ViktorB
43 / 43 / 12
Регистрация: 06.10.2014
Сообщений: 133
04.05.2015, 12:26 2
Цитата Сообщение от hellbu Посмотреть сообщение
почему то не работает?
Не может быть.
0
DrOffset
8141 / 4722 / 1154
Регистрация: 30.01.2014
Сообщений: 7,690
04.05.2015, 12:27 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

hellbu, почему это не работает? работает.
C++
1
2
3
int * ptr;
 
sizeof(ptr); // вернет размер указателя
0
ViktorB
43 / 43 / 12
Регистрация: 06.10.2014
Сообщений: 133
04.05.2015, 12:30 4
Цитата Сообщение от hellbu Посмотреть сообщение
как узнать длину указателя(в байтах)
А вам точно размер указателя нужен, а не того на что он указывает?
0
hellbu
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 7
04.05.2015, 12:58  [ТС] 5
благодарю уже все работает

Добавлено через 20 минут
DrOffset, еще один вопрос к етой теме почуму придавая указателю * prt тип short int или double функция sizeof так же выводит 4 как при int?
0
nefton
44 / 20 / 6
Регистрация: 28.02.2013
Сообщений: 193
05.05.2015, 09:03 6
Целиком и полностью зависит от твоей машины и настроек компилятора.

На твоей машине компилятор решил что не выгодно заморачиваться с полусловами.

когда твой процессор складывает 2 числа - он их берёт "откудато" и ложит в регистры. Регистры у него 32 или 64 бита. потом 1 тик - и опа - результат в другом регистре.

А ложит он из "памяти к примеру" в регистры - тоже такая команда. он выбирает сразу 32 бита к примеру.
и чтоб потом эти 32 бита разбить на 4 твоих int shot - можно конечно, но кому это нужно?
в скорости потеряеш намного больше чем выиграеш места.

Замечу интересное сравнение тёплого с мягким что больше... но такова жинь.
думаю в компиляторе есть опция - хочу суперкомпактный код, или хочу супер мало памяти потребить.
включи их и твой sizeof(shot int) выдаст честный 1 байт.

Ну или поменяй проц на какой нибудь 286

Добавлено через 16 минут
А [блин]! вопрос неправильно прочитал. Ну так сам подумай! это ж УКАЗАТЕЛЬ! ему чи не всё равно на что указывать? хоть на ****
0
05.05.2015, 09:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.05.2015, 09:03

Как узнать длину массива
например объявил массив char x, ввел в него gets(x), теперь в массиве строка,...

Как узнать длину массива?
Функция в качестве параметра получает массив BYTE*. Как узнать его длину?

Как узнать длину числа?
Всем привет :) Интересует такой вопрос: как можно узнать длину...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru