Программно определить размер массива C++?

На самом деле есть способ pointers определить размер, но он memory-allocation небезопасен и будет отличаться memory-usage от компилятора к компилятору pointers .... поэтому его вообще не следует использовать.

Когда вы это сделаете: int bytearray * arr = новый int [256];

256 jsonarray не имеет значения, вам будет character-arrays предоставлено 256 * sizeof memory-allocation (int), предполагая, что для ptr этого случая 1024, это значение memory-management будет сохранено, вероятно, в jsonarray (arr - 4)

Итак, чтобы дать jsonarray вам количество "элементов"

int bytearray * p_iToSize = arr - 4;

printf array ("Количество элементов% d", * p_iToSize pointer / sizeof (int));

Для каждого memory-management malloc, new, независимо от ptr того, что предшествует полученному memory-deallocation вами блоку памяти Continos, также memory-management выделяется пространство, зарезервированное c++ с некоторой информацией о memory-allocation блоке памяти, который вам pointers был предоставлен.

c++

arrays

pointers

memory-management

2022-11-10T13:19:25+00:00