LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

в современных плюсах, если внутри функции надо строку скопировать и куда-то сохранить на память, а не просто по ней пройтись, лучше наоборот принимать по значению.

песдешь. он плохой плюсовик. он даже не понимает, что «строка» в плюсах, это структурка, с указателем на буфер в куче. и все данные (то есть сама строка символов) находятся на куче. и «копирование строки» это не копирование буфера на куче, а просто копирование структурки. новая структурка будет указывать на тот же буфер. она хоть и небольшая, но все равно ее копирование дольше чем передача адреса, и адрес будет взят на регистр.

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

зы. короче не парьте себе мозг, используйте копии только для скаляров типа инта. как я сказал, это специальный случай. во всех остальных используйте указатель. дабы не плодить бестолковые копии, даже случайно

Исправление alysnix, :

в современных плюсах, если внутри функции надо строку скопировать и куда-то сохранить на память, а не просто по ней пройтись, лучше наоборот принимать по значению.

песдешь. он плохой плюсовик. он даже не понимает, что «строка» в плюсах, это структурка, с указателем на буфер в куче. и все данные (то есть сама строка символов) находятся на куче. и «копирование строки» это не копирование буфера на куче, а просто копирование структурки. новая структурка будет указывать на тот же буфер. она хоть и небольшая, но все равно ее копирование дольше чем передача адреса, и адрес будет взят на регистр.

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

Исправление alysnix, :

в современных плюсах, если внутри функции надо строку скопировать и куда-то сохранить на память, а не просто по ней пройтись, лучше наоборот принимать по значению.

песдешь. он плохой плюсовик. он даже не понимает, что «строка» в плюсах, это структурка, с указателем на буфер в куче. и все данные находятся на куче. и «копирование строки» это не копирование буфера на куче, а просто копирование структурки. она хоть и небольшая, но все равно ее копирование дольше чем передача адреса, и адрес будет взят на регистр.

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

Исходная версия alysnix, :

в современных плюсах, если внутри функции надо строку скопировать и куда-то сохранить на память, а не просто по ней пройтись, лучше наоборот принимать по значению.

песдешь. он плохой плюсовик. он даже не понимает, что «строка» в плюсах, это структурка, с указателем на буфер в куче. и все данные находятся на куче. и «копирование строки» это не копирование буфера на куче, а просто копирование структурки. он хоть и небольшая, но все равно ее копирование дольше чем передача адреса, и адрес будет взят на регистр.

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