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

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

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

как узнать длину указателя(в байтах)
C++
1
sizeof(указатель)
почему то не работает?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2015, 12:23
Ответы с готовыми решениями:

Как узнать длину строки в байтах?
Есть код: using (FileStream fs = File.Create(fileName)) { ...

Как определить длину строки в байтах
как быть, если строка юникодная? Нужно контролировать именно размер занимаемый в памяти, на не...

Как определить длину структуры в байтах?
В VB6 была функция LenB, которая возвращала размер объекта в байтах. Как это сделать в VB.NET ?...

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

5
43 / 43 / 12
Регистрация: 06.10.2014
Сообщений: 135
04.05.2015, 12:26 2
Цитата Сообщение от hellbu Посмотреть сообщение
почему то не работает?
Не может быть.
0
13712 / 7335 / 1751
Регистрация: 30.01.2014
Сообщений: 12,302
04.05.2015, 12:27 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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

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

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

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

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

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

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

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

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

GD как узнать размер файла, в байтах, на выходе?
Всем привет! Простенький пример: Делаем привьюшку. $src = 'file.jpg'; $src =...

Как узнать весь объем папки в байтах?
подскажите у меня есть условная папка с 5 условными тхт файлами мне нужно посчитать их общий обьем...

Как узнать размер в байтах графических объектов
Здравствуйте. Как программно узнать размер в байтах графических объектов - графических путей,...

Как узнать размер (в байтах) который занимает в даный момент форма или другой контрол
Как узнать размер (в байтах) который занимает в даный момент форма или другой контрол


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

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

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