170 похожих чатов

То есть у динам массива sizeof будет тоже 8?

18 ответов

12 просмотров

size of динамического массива получить вообще невозможно, sizeof - операция компилятора, только во времени компиляции выполняется, а динамический массив (или другой объект) существует только во время выполнения программы

Ilya Zviagin
size of динамического массива получить вообще нево...

Ну по факту можно просто надо брать от типа * на размер

'Егор 'Зорин
Ну по факту можно просто надо брать от типа * на р...

Это не динамический массив, и размер дин. массива таким образом не получить. Невозможно

'Егор 'Зорин
А это чо https://godbolt.org/z/rYh14YKvb

Так size ты где взял ? Вот в этом и дело...

'Егор 'Зорин
ввёл из stdin

Ну, сотри эту переменную после выделения памяти, и попробуй снова получить размер массива.

Ilya Zviagin
Ну, сотри эту переменную после выделения памяти, и...

А зачем ограничивать себя всякими условностями, если можно получать адекватно размер?

Ilya Zviagin
Ну, сотри эту переменную после выделения памяти, и...

да хоть метод класса можно сделать чтоб получать размер template < typename T> size_t f() { return this->size * sizeof(T); } ?

'Егор 'Зорин
А это чо https://godbolt.org/z/rYh14YKvb

В твоем случае вот такой код даст неверный размер массива: ssize_t size = 0; std::cin >> size; int *arr = new int[size]; std::cout << "Size arr: " << sizeof(arr) << std::endl; А вот такой даст верный: constexpr ssize_t size = 10; int arr[size]; std::cout << "Size arr: " << sizeof(arr) << std::endl;

d7d1cd
В твоем случае вот такой код даст неверный размер ...

всмысле не верный если size = 5 то 5 * int = размер всех элементов массива

'Егор 'Зорин
да хоть метод класса можно сделать чтоб получать р...

Ну ты не понимаешь, о чём я. Я тебе говорю, что узнать размер выделенного динамически объекта невозможно, его нужно ХРАНИТЬ от момента выделения. А ты мне рассказываешь, как устроить класс для того, чтобы это хранить. Я знаю, что нужно хранить. Я тебе не об этом писал. А о том, что размер динамически выделенного объекта узнать после его создания невозможно.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта