Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
1

Что определяет тип указателя

19.10.2015, 15:30. Показов 2117. Ответов 45
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Наткнулся на ответ:

Что определяет тип указателя?
Размер смещения при инкременте указателя

Не понял что-то.


int* a;
int - базовый тип
int* - тип переменной( в данном случае указателя)


И где тут смещение? В таблице типов компилятора на момент сборки чтоле?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2015, 15:30
Ответы с готовыми решениями:

typeid определяет тип указателя на базовый класс, как тип "базовый класс". Вне зависимости от присвоенного ему значения
Вот код: #include <iostream> #include <string> #include <conio.h> #include <windows.h>...

Почему увеличение указателя на sizeof(тип) не тождественно инкременту этого же указателя?
Всем доброго дня.:) Можете обьяснить ,почему при инкриментировании указателя,его значение(адресс)...

Узнать тип значения, зная тип указателя
Здравствуйте! Есть такой код: template<class Iter> void func(Iter first, Iter last) { ...

Как изменить тип указателя массива ?
Например создаю массив: void * mass; if(1 == 1) mass = wchar_t; else mass = char; Пример...

45
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
20.10.2015, 00:12 41
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от hoggy Посмотреть сообщение
3, а не 2
Фактически, вариант 1 тоже подходит. Размерность указателя также может быть разной. В вопросе не сказано что именно подразумевается под указателем. Указатель на виртуальную функцию-член класса, например, может быть другого размера:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
 
struct Test
{
    virtual void foo() {} ;
} ;
 
 
 
 
 
int main()
{
    int (Test::*p)() ;
    std::cout << sizeof(void*) << std::endl ;
    std::cout << sizeof(p) << std::endl ;
}
http://rextester.com/HSZ50203

Я понимаю, что указатель и указатель на функцию член вещи абсолютно разные, но и то и другое можно обозвать указателем.
Как по мне, то сам вопрос и ответы нарываются на неоднозначность.

Но в том, что тип указателя не определяет тип объекта, я согласен.
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
20.10.2015, 00:14 42
Цитата Сообщение от Croessmah Посмотреть сообщение
вариант 1 тоже подходит
ага
0
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
20.10.2015, 07:52 43
Croessmah
Ух! Против стандарта не попрёшь! Тогда, действительно, 2.
0
Эксперт С++
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
20.10.2015, 09:27 44
Цитата Сообщение от Croessmah Посмотреть сообщение
тип указателя не определяет тип объекта
определяет.
объекта типа "указатель".
а не того объекта, на который этот указатель якобы смотрит.
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
20.10.2015, 11:11 45
Цитата Сообщение от hoggy Посмотреть сообщение
а не того объекта, на который этот указатель якобы смотрит.
так мы про это и ведем речь
0
2063 / 1542 / 168
Регистрация: 14.12.2014
Сообщений: 13,402
20.10.2015, 19:24 46
Цитата Сообщение от hoggy Посмотреть сообщение
объекта типа "указатель".
По большому счету определяет какой именно код сгенерит компилятор по командам обращения по указателю и применения к указателю арифметики указателей.
0
20.10.2015, 19:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2015, 19:24
Помогаю со студенческими работами здесь

Как поменять тип данных у указателя?
Здравствуйте, уже часа 3 маюсь, все никак не могу поменять тип данных... это надо для отправки по...

Выражение должно иметь тип указателя
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; struct laiks...

Выражение должно иметь тип указателя
if (Settings::Misc::misc_Bhop) { if (pCmd-&gt;buttons &amp; IN_JUMP &amp;&amp; !(!flag-&gt;GetMoveType &amp;...

Выражение должно иметь тип указателя
что тут не так IClientEntity *player=...


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

Или воспользуйтесь поиском по форуму:
46
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru