передача QString функции собственному классу |
Здравствуйте, гость ( Вход | Регистрация )
передача QString функции собственному классу |
danya |
10.11.2010, 13:50
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 10 Регистрация: 30.10.2010 Пользователь №: 2164 Спасибо сказали: 0 раз(а) Репутация: 0 |
попробовал сделать следующим образом:
в основной форме:
в классе есть функция:
в результате получаю ошибку:
подскажите что я делаю не так или хотябы что в какую сторону копять? |
|
|
Алексей1153 |
1.12.2010, 12:15
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Obey-Kun, визуальное загромождение кода тоже мало способствует удобству Мы же знаем, что QString так работает (да и сами разработчики так его применяют - это о чём-то говорит).
А в общем случае, конечно, по ссылке или по указателю большие объекты передавать следует. За исключением случаев, когда внутренний объект будет меняться - тогда проще сразу на стеке его и создать |
|
|
Obey-Kun |
1.12.2010, 12:20
Сообщение
#3
|
Студент Группа: Участник Сообщений: 96 Регистрация: 24.3.2010 Пользователь №: 1556 Спасибо сказали: 3 раз(а) Репутация: 0 |
Obey-Kun, визуальное загромождение кода тоже мало способствует удобству Мы же знаем, что QString так работает (да и сами разработчики так его применяют - это о чём-то говорит). А в общем случае, конечно, по ссылке или по указателю большие объекты передавать следует. За исключением случаев, когда внутренний объект будет меняться - тогда проще сразу на стеке его и создать Поищите, например, setName в документации. Да у них там везде QString передаётся по константной ссылке. Абсолютно везде. При создании копии QString, несмотря на общее использование данных, кое-какие лишние действия всё равно будут проводиться. Цитата А передача константной ссылки всегда "легче" чем передача по значению, хотя с классами используемыми implicit sharing это и не так явно. Вот именно. Но разница всё равно есть. И разработчики Qt, видимо, посчитали её значительной, иначе в собственных методах использовали бы передачу QString по значению. Сообщение отредактировал Obey-Kun - 1.12.2010, 12:21 |
|
|
Текстовая версия | Сейчас: 5.12.2024, 1:10 |