Результаты поиска по запросу "sizeof"

4 ответа

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

struct MyClass { int foo () { return 0; } }; unsigned int size = sizeof(MyClass::foo); // obviously error ли мы подать заявкуsizeof() для методов-членов изснаружиclass ? Нужно ли объявлять объект, чтобы получить его? редактироватьЯ знаю, что ...

7 ответов

За исключением случаев указания на такие вещи, как символ на слове, адресованном машине.

етствует ли размер указателя размеру и типу, на который он указывает, или указатели всегда имеют фиксированный размер? Например... int x = 10; int * xPtr = &x; char y = 'a'; char * yPtr = &y; std::cout << sizeof(x) << "\n"; std::cout << ...

1 ответ

Ваш пример работает, так как C не имеет массивов, которые динамически увеличиваются при добавлении элементов. Таким образом, размер * msg равен размеру отступов u32 +, если таковые имеются, но он не будет учитываться для элемента списка, который вы должны учитывать самостоятельно, когда вы «выделяете» буфер и хотите узнать фактический размер этого » объект ", как вы сделали.

я есть следующий вид кода: typedef struct { u32 count; u16 list[]; } message_t; ... message_t* msg = (message_t*)buffer; msg->count = 2; msg->list[0] = 123; msg->list[1] = 456; size_t total_size = sizeof(*msg) + sizeof(msg->list[0]) * ...

ТОП публикаций

7 ответов

Я не вижу смысла этого обсуждения. Класс C ++ не является ссылочной переменной. Если Страуструп говорит что-то о C ++, вы можете поспорить, что это технически правильно, но различия между классами и структурами несущественны для вопроса OP, если только вы не утверждаете, что sizeof (struct) может быть нулевым. Ты?

я есть вопрос C ++. Я написал следующий класс: class c { int f(int x, int y){ return x; } };sizeof () класса c возвращает «1». Я действительно не понимаю, почему это возвращает 1. Пытаясь лучше понять, что происходит, я добавил еще одну ...

3 ответа

@ HuangF.Lei Я думаю, что вопрос напрашивается.

оложим, у меня есть класс A, который ничего не наследует, не имеет виртуальных методов и имеет ровно одну переменную типа T. Гарантирует ли C ++sizeof(A) == sizeof(T)? РЕДАКТИРОВАТЬ: Также, если бы T был составным типом, это имело бы значение?

3 ответа

Это поздний и неправильный ответ.

не удается скомпилировать: typedef int arr[10]; int main(void) { return sizeof arr; } sizeof.c:3: error: expected expression before ‘arr’но если я изменю это на sizeof(arr);все в порядке. Почему?

1 ответ

Спасибо - интересно

олжно быть просто, но я понятия не имею, где искать проблему: У меня есть структура: struct region { public: long long int x; long long int y; long long int width; long long int height; unsigned char scale; };Когда я делаюsizeof(region) ...

1 ответ

).

я даюsizeof(a), гдеa=13.33, переменная типа float, размер 4 байта. Но если я дамsizeof(13.33) напрямую, размер составляет 8 байт. Я не понимаю, что происходит. Может кто-нибудь помочь?

6 ответов

Это должно ... и это на самом деле не направлено на вас, т. Е. Для тех, кто читает эту ветку позже и может не иметь вашего опыта, я бы не хотел, чтобы они предполагали, что sizeof (int) автоматически составляет 4 байта и начать делать "умные" вещи, такие как

я есть две структуры со значениями, которые должны вычислять взвешенное среднее, как эта упрощенная версия: typedef struct { int v_move, v_read, v_suck, v_flush, v_nop, v_call; } values; typedef struct { int qtt_move, qtt_read, qtt_suck, ...

4 ответа

Надеюсь, это прояснит ситуацию!

#include "usefunc.h" //don't worry about this -> lib I wrote int main() { int i; string given[4000], longest = "a"; //declared new typdef. equivalent to 2D char array given[0] = "a"; printf("Please enter words separated by RETs...\n"); for (i = ...