Size: a a a

2021 February 23

S

Stepan in supapro.cxx
std::char_traits<char>::length(s)
Так тоже можно узнать длину Си-строки
источник

s

std::slavik in supapro.cxx
если память выделяется динамически - возвращается только указатель на начало
источник

s

std::slavik in supapro.cxx
размер не сохраняется нигде
источник

DK

David Kravets in supapro.cxx
Nastya Medveda
А как определить размер буфера? У меня не работает
```char* buffer = new char[100];
   buffer[0] = 't';
   buffer[1] = 'e';
   buffer[2] = 's';
   buffer[3] = 't';
   buffer[4] = '\0';
   std::cout <<
sizeof(buffer)/sizeof(char) << std::endl; //??? expecting 100 here but get 8```
sizeof(buff) / sizeof(int);
источник

MK

Mikhail Kalugin in supapro.cxx
Nastya Medveda
А, понятно. Оно  будет писать в память последовательно пока не зависнет и  надо отдельно следить за тем, чтоб этот массив не переполнился и параллельно с массивом отслеживать используемую длинну
Не зависнет, скорее затрет что-то важное с непредсказуемыми последствиями. Порча памяти один из самых коварных багов.
источник

Тᅠ

Туночка ᅠᅠ... in supapro.cxx
David Kravets
sizeof(buff) / sizeof(int);
та бля
источник

Тᅠ

Туночка ᅠᅠ... in supapro.cxx
почему все пишут какую-то дич
источник

Тᅠ

Туночка ᅠᅠ... in supapro.cxx
источник

Тᅠ

Туночка ᅠᅠ... in supapro.cxx
ну не все
источник

s

std::slavik in supapro.cxx
это ответственность программиста - если ему нужно размер выделенного буфера знать - сам должен создать под это переменную/константу
источник

Тᅠ

Туночка ᅠᅠ... in supapro.cxx
Туночка ᅠᅠ
ну не все
но вот єти strlen()+1
и вот єто вот
источник

NM

Nastya Medveda in supapro.cxx
David Kravets
sizeof(buff) / sizeof(int);
у меня именно так, но оно не работает:
```char* buffer = new char[100];
   buffer[0] = 't';
   buffer[1] = 'e';
   buffer[2] = 's';
   buffer[3] = 't';
   buffer[4] = '\0';
   std::cout <<
sizeof(buffer)/sizeof(char) << std::endl;```
источник

s

std::slavik in supapro.cxx
Nastya Medveda
у меня именно так, но оно не работает:
```char* buffer = new char[100];
   buffer[0] = 't';
   buffer[1] = 'e';
   buffer[2] = 's';
   buffer[3] = 't';
   buffer[4] = '\0';
   std::cout <<
sizeof(buffer)/sizeof(char) << std::endl;```
работает
источник

s

std::slavik in supapro.cxx
просто не так как Вы ожидаете
источник

DK

David Kravets in supapro.cxx
Nastya Medveda
у меня именно так, но оно не работает:
```char* buffer = new char[100];
   buffer[0] = 't';
   buffer[1] = 'e';
   buffer[2] = 's';
   buffer[3] = 't';
   buffer[4] = '\0';
   std::cout <<
sizeof(buffer)/sizeof(char) << std::endl;```
Память Дин
источник

Тᅠ

Туночка ᅠᅠ... in supapro.cxx
std::slavik
просто не так как Вы ожидаете
ох
источник

S

Stepan in supapro.cxx
I. Воздержаться от ненормативной лексики
II. Прекратить дробить сообщения на мелкие
источник

DK

David Kravets in supapro.cxx
Nastya Medveda
у меня именно так, но оно не работает:
```char* buffer = new char[100];
   buffer[0] = 't';
   buffer[1] = 'e';
   buffer[2] = 's';
   buffer[3] = 't';
   buffer[4] = '\0';
   std::cout <<
sizeof(buffer)/sizeof(char) << std::endl;```
В Дин массиве нельзя определить размер
источник

Тᅠ

Туночка ᅠᅠ... in supapro.cxx
David Kravets
В Дин массиве нельзя определить размер
ок
а зачем ті написал то же самое что и в вопросе?
не дрчитал?
источник

NM

Nastya Medveda in supapro.cxx
std::slavik
работает
да, оно определяет размер указателя (на моей системе оно 8 байт) и делит на размер чар (1 байт).
источник