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