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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Karchok
2 / 2 / 1
Регистрация: 27.09.2011
Сообщений: 48
#1

Operator sizeof - C++

22.06.2013, 20:27. Просмотров 641. Ответов 13
Метки нет (Все метки)

Кто-нибудь знает как реализован этот оператор? И когда он выполняется: на уровне компиляции или во время исполнения?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2013, 20:27     Operator sizeof
Посмотрите здесь:

Объясните sizeof() - C++
Вопрос, скажите для чего можно использовать sizeof()?

Sizeof выражение - C++
Почему при запуске, консоль сразу же закрывается: #include <iostream> int main() { float x = 1; cout << "sizeof (float): "...

Немного о sizeof - C++
Не могу найти. Вот такая форма оператора, с несколькими параметрами: sizeof (323, 43241, 555) Что она возвращает?

Оператор sizeof - C++
Используя оператор sizeof определите и выведите на экран количество байт, необходимых для хранения всех известных Вам простых типов...

sizeof массива - C++
void f(float x) { printf("%d\n",sizeof(x)); // Пишет 4 байта (размер элемента массива) } void f2(float x) {...

sizeof (double) - C++
в моём компиляторе sizeof( double ) == 8. Тогда почему #include <iostream.h> int main(){ double L=0x123456789L; cout<<" L:=...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.06.2013, 20:28     Operator sizeof #2
во время компиляции
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,049
22.06.2013, 20:31     Operator sizeof #3
Выполняется во время компиляции.
оператор sizeof
Karchok
2 / 2 / 1
Регистрация: 27.09.2011
Сообщений: 48
22.06.2013, 20:32  [ТС]     Operator sizeof #4
А если у меня массив переменной длины?
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,049
22.06.2013, 20:33     Operator sizeof #5
@Karchok, узнается лишь архитектурно-зависимыми способами
Croessmah
22.06.2013, 20:33
  #6

Не по теме:

Цитата Сообщение от Karchok Посмотреть сообщение
А если у меня массив переменной длины?
Ну ка пример такого массива

MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,049
22.06.2013, 20:34     Operator sizeof #7

Не по теме:

@Croessmah, мне кажется он криво выразился о динамических массивах


Хотя на деле подходит и VLA.
Karchok
2 / 2 / 1
Регистрация: 27.09.2011
Сообщений: 48
22.06.2013, 20:35  [ТС]     Operator sizeof #8
Например std:: vector какой-нибудь
Kuzia domovenok
1889 / 1744 / 117
Регистрация: 25.03.2012
Сообщений: 5,922
Записей в блоге: 1
22.06.2013, 20:38     Operator sizeof #9
а чем vector.size() не устраивает?
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
22.06.2013, 20:38     Operator sizeof #10
Цитата Сообщение от Karchok Посмотреть сообщение
std:: vector какой-нибудь
Это лишь шаблонный класс.
sizeof вернет размер объекта класса
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,165
Завершенные тесты: 2
22.06.2013, 20:40     Operator sizeof #11
таки вектор содержит указатель на динамический массив и размер объекта - вектора изменяться не будет( наверно коряво выразился) скока он щас, 12 байт вроде?
Karchok
2 / 2 / 1
Регистрация: 27.09.2011
Сообщений: 48
22.06.2013, 20:42  [ТС]     Operator sizeof #12
Он вернёт количество элементов в контейнере, а не количество байт. Меня всё устраивает - просто интересно как это реализуется
MrGluck
Модератор
Эксперт CЭксперт С++
6997 / 4168 / 594
Регистрация: 29.11.2010
Сообщений: 11,049
22.06.2013, 20:44     Operator sizeof #13
@Karchok, внутри вектора то? Элементарно - переменная-свойство класса.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2013, 20:45     Operator sizeof
Еще ссылки по теме:

Sizeof структуры - C++
Объясните, почему sizeof(test) == 24, а не 18, как я полагал ? struct test { uint64_t param1; unsigned char param2; }; ...

Sizeof глючит ? - C++
простой пример на вижуал с++2013: #include <iostream> using namespace std; struct MyStruct { short gg; int tt; //int...

оператор sizeof - C++
Добрый вечер! Был сделан тест. Есть класс class A { int a; char b; double c; }; В программе:

sizeof() с массивами - C++
Почему такие результаты? Размеры у обоих массивов одинаковые а sizeof() показывает у одного 28, а другого 32 int a = {1, 2, 3, 4, 5,...


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

Или воспользуйтесь поиском по форуму:
Karchok
2 / 2 / 1
Регистрация: 27.09.2011
Сообщений: 48
22.06.2013, 20:45  [ТС]     Operator sizeof #14
Нет, вообще. внутри вектора неинтересно))
Yandex
Объявления
22.06.2013, 20:45     Operator sizeof
Ответ Создать тему
Опции темы

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