|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух чём сложность то ему посчитать... А программист... Не царское это дело (с) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 11:36 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
PetroNotC Sharp А заранее знать занафига?)) да не заранее ты пишешь, что вообще никак не узнать ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 18:04 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудухнепонятно, в чём сложность то пробежаться по вектору и посчитать заполненные поля в структурах... Это даст тебе объём картошки. Просранное свободное место в пуле ты так не почитаешь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 18:43 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух PetroNotC Sharp А заранее знать занафига?)) да не заранее ты пишешь, что вообще никак не узнать Дал три варианта на все случаи жизни. Для третичной логики А, В и С. Они охватывают все варианты в жизни. Рантайм это вариант С. Дак нет же, опять все не так). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 19:34 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov полудухнепонятно, в чём сложность то пробежаться по вектору и посчитать заполненные поля в структурах... Это даст тебе объём картошки. Просранное свободное место в пуле ты так не почитаешь. если физически пройти по вектору и в каждой структуре чекнуть - сколько в поле байт PetroNotC Sharp Дак нет же, опять все не так). слово "никак" было лишним ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 20:04 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух если физически пройти по вектору и в каждой структуре чекнуть - сколько в поле байт = физически пробежать по памяти и в каждой ячейке чекнуть - сколько там байт ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 20:05 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух, PetroNotC Sharp полудух а посчитать размеры полей в структуре и умножить на кол-во структур в векторе это единственный правильный способ узнать полный размер в памяти? A) если простой объект - sizeof B) если сложный то никак не узнать С) в отладчике или профайлере в рантайм. Ну тогда рассказывай, как в B) вычислять размер объекта если в нем ссылки на другие объекты. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 20:24 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух, предположим, что ты создал и залил данные в вектор. И ты как-то зафиксировал объем используемой памяти до и после и вычел второе из первого. И что? Это все равно не будет "объемом, занимаемым вектором". И даже не факт, что величина будет положительной. ... Скажи, ну вот зачем тебе это надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 20:46 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
PetroNotC Sharp полудух, PetroNotC Sharp пропущено... A) если простой объект - sizeof B) если сложный то никак не узнать С) в отладчике или профайлере в рантайм. Ну тогда рассказывай, как в B) вычислять размер объекта если в нем ссылки на другие объекты. а что ссылка это тупик чтоли, это же адрес в памяти по этому адресу можно найти объект, осталось посчитать кол-во байт в каждом члене объекта ёёёёё полудух, предположим, что ты создал и залил данные в вектор. И ты как-то зафиксировал объем используемой памяти до и после и вычел второе из первого. И что? Это все равно не будет "объемом, занимаемым вектором". И даже не факт, что величина будет положительной. а зачем "до и после"? Конечно это не будет "объёмом, занимаемым вектором"... надо прочекать ячейку в памяти каждого члена класса и посчитать кол-во байт в ней для всех классов в векторе только и всего ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 21:44 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух а что ссылка это тупик чтоли, это же адрес в памяти по этому адресу можно найти объект, осталось посчитать кол-во байт в каждом члене объекта ты же не джун чтобы такой болтовнёй заниматься. Сначала попробуй, а потом говори. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 22:22 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
в C++ - джун как я попробую, если я тут спрашиваю "как это сделать" что, нельзя посчитать кол-во байт в ячейке? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 22:31 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух как я попробую, если я тут спрашиваю "как это сделать" - как обходить зависимости (дерево или циклические зависимости) будешь? Рекурсией? - как определишь что указатель на инициализированный объект а не пустышка? И т.д. Лучше выбрось из головы странную задачу. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 08:26 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
что в ней странного то? есть вектор объектов и я хочу знать его размер в памяти. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 11:51 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
PetroNotC Sharp - как определишь что указатель на инициализированный объект а не пустышка? по заветам Страуса - конструктор всё проинициализирует ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 11:53 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух что в ней странного то? есть вектор объектов и я хочу знать его размер в памяти. "босиком по лужам" Почему? Ответ - Что странного? Хочу босиком по лужам! полудух PetroNotC Sharp - как определишь что указатель на инициализированный объект а не пустышка? по заветам Страуса - конструктор всё проинициализирует Вопрос был как считать указатели? class A { Settings *settings; ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 12:40 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
ну а если без указателей ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 12:55 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух по заветам Страуса - конструктор всё проинициализирует Не всё? class A { std::unique_ptr<FileBitmap> file{}; ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 12:55 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух ну а если без указателей А мы отвлеклись на лишнее слово "нельзя". ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 12:56 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух что в ней странного то? есть вектор объектов и я хочу знать его размер в памяти. Точно нельзя сказать, но для std::vector примерно так: Код: plaintext 1. 2.
Для других контейнеров - по-другому ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 13:30 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
и какой прок от sizeof(obj)? он вообще не несёт реальной инфы об объекте в памяти, там даже цифра не меняется в общем надо дергать вручную каждое поле и складывать их все и каждый стринг всё равно считать через .size() ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 23:17 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух каждый стринг всё равно считать через .size() И все равно не правильно будет. А как правильно - никто не скажет, потому что никому это не нужно. Как не нужно и тебе. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2019, 23:48 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
почему не правильно? Код: plaintext 1. 2. 3.
всё правильно до байта и безо всяких \0 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 01:01 |
|
type-rich инициализация
|
|||
---|---|---|---|
#18+
полудух, Естественно, если вектор содержит объекты с динамической памятью, то размеры элементов нужно считать аналогичным образом в зависимости от конкретного типа. Еще нужно учитывать, что объекты типа vector string обычно выделяют память с запасом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 12:19 |
|
|
start [/forum/topic.php?fid=57&msg=39894209&tid=2017515]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 271ms |
total: | 397ms |
0 / 0 |