Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / sizeof( functioncall() ) // huh ? / 7 сообщений из 7, страница 1 из 1
13.06.2014, 13:53
    #38668921
боевые
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sizeof( functioncall() ) // huh ?
Оказывается:

Код: plaintext
1.
2.
3.
4.
5.
    short func1();
    double func2();

    std::cout << sizeof(func1()) << "\n";
    std::cout << sizeof(func2()) << "\n";



Печатают размеры short и double.

Чему я удивляюсь?

Вроде бы всё логично: sizeof() - байда времени компиляции, которая заменяется на размер типа выражения, которое в ней написано. Тип выражения func1() - не функция, а её возвращаемый тип. Вроде как логично, но просто так с порога до этого не додуматься, не всегда же ты думаешь категориями вроде "тип выражения".

Удивление связано с тем, что нигде нет таких примеров в статьях про sizeof().
...
Рейтинг: 0 / 0
13.06.2014, 16:31
    #38669041
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sizeof( functioncall() ) // huh ?
боевые,

Вы начинайте не со статей, а с учебника. Там все разжевано.
А статьи пишут чтобы рассказать то чего нет в учебниках. Поэтому не удивительно что таких тривиальных примеров там нет.
...
Рейтинг: 0 / 0
13.06.2014, 16:52
    #38669059
боевые
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sizeof( functioncall() ) // huh ?
Anatoly Moskovskyбоевые,

Вы начинайте не со статей, а с учебника. Там все разжевано.
А статьи пишут чтобы рассказать то чего нет в учебниках. Поэтому не удивительно что таких тривиальных примеров там нет.
Проблема в том, что начал я уже давно, поэтому ещё раз начинать как-то не прёт )
...
Рейтинг: 0 / 0
13.06.2014, 17:59
    #38669091
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sizeof( functioncall() ) // huh ?
боевыеAnatoly Moskovskyбоевые,

Вы начинайте не со статей, а с учебника. Там все разжевано.
А статьи пишут чтобы рассказать то чего нет в учебниках. Поэтому не удивительно что таких тривиальных примеров там нет.
Проблема в том, что начал я уже давно, поэтому ещё раз начинать как-то не прёт )Вон из профессии!
...
Рейтинг: 0 / 0
13.06.2014, 18:16
    #38669100
боевые
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sizeof( functioncall() ) // huh ?
White Owlбоевыепропущено...

Проблема в том, что начал я уже давно, поэтому ещё раз начинать как-то не прёт )Вон из профессии!
Вон из профессии кто по сабжу ничего не пишет.
...
Рейтинг: 0 / 0
13.06.2014, 20:15
    #38669145
ДохтаР
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sizeof( functioncall() ) // huh ?
боевыеОказывается:

Код: plaintext
1.
2.
3.
4.
5.
    short func1();
    double func2();

    std::cout << sizeof(func1()) << "\n";
    std::cout << sizeof(func2()) << "\n";



Печатают размеры short и double.

Чему я удивляюсь?

Вроде бы всё логично: sizeof() - байда времени компиляции, которая заменяется на размер типа выражения, которое в ней написано. Тип выражения func1() - не функция, а её возвращаемый тип. Вроде как логично, но просто так с порога до этого не додуматься, не всегда же ты думаешь категориями вроде "тип выражения".

Удивление связано с тем, что нигде нет таких примеров в статьях про sizeof().


Паша, иди в ПТ , тебе тут делать нечего .

Пруф на подумать кто ты есть ......
...
Рейтинг: 0 / 0
13.06.2014, 20:26
    #38669147
боевые
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sizeof( functioncall() ) // huh ?
ДохтаРбоевыеОказывается:

Код: plaintext
1.
2.
3.
4.
5.
    short func1();
    double func2();

    std::cout << sizeof(func1()) << "\n";
    std::cout << sizeof(func2()) << "\n";



Печатают размеры short и double.

Чему я удивляюсь?

Вроде бы всё логично: sizeof() - байда времени компиляции, которая заменяется на размер типа выражения, которое в ней написано. Тип выражения func1() - не функция, а её возвращаемый тип. Вроде как логично, но просто так с порога до этого не додуматься, не всегда же ты думаешь категориями вроде "тип выражения".

Удивление связано с тем, что нигде нет таких примеров в статьях про sizeof().


Паша, иди в ПТ , тебе тут делать нечего .

Пруф на подумать кто ты есть ......
Меня зовут не Паша.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / sizeof( functioncall() ) // huh ? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]