Russian Qt Forum
Ноябрь 27, 2024, 17:17
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
C++ переменные
Страниц:
1
[
2
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: C++ переменные (Прочитано 9347 раз)
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: C++ переменные
«
Ответ #15 :
Август 26, 2011, 18:57 »
Потому что это не безопасный си-вэй стиль.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: C++ переменные
«
Ответ #16 :
Август 26, 2011, 21:13 »
Цитата: Yuriy от Август 26, 2011, 18:53
ПОЧЕМУ так жестоко ?? Я конечно понимаю что это своеобразный "костыль", но порой удобно !
Удобно для UI, когда число параметров колеблется 2-5 (остальные по умолчанию) и они разных типов. А с номерами столбцов - не в масть, они все одного типа. да и потенциально их может быть много. В QSet их - и подавать этот QSet по константной ссылке. Вызывать никак не хуже
Код
C++ (Qt)
haveValuesAtRow
(
QSet
<
int
>
(
)
<<
1
<<
4
<<
6
)
;
А будет больше - спокойно зарядить в QSet окремо
Записан
Yuriy
Гость
Re: C++ переменные
«
Ответ #17 :
Август 26, 2011, 23:03 »
Да и вправду. хотя всякие сишные Prinf пользуют arg, лучше без них, дабы избежать выгребания из оперативы мусора.
А что насчет инициализации и операторов присваивания, все же я склонен к тому, что нужно избегать базовой инициализации, если результирующее значение известно до присваивания значения. Речь не только о QString, а также о более увесистых классах, при создании которых вешаются дефолтные свойства класса, а то и вызов конструкторов других классов.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: C++ переменные
«
Ответ #18 :
Август 27, 2011, 11:24 »
Цитата: Yuriy от Август 26, 2011, 23:03
А что насчет инициализации и операторов присваивания, все же я склонен к тому, что нужно избегать базовой инициализации, если ..
Базовой инициализации не избежать. Если у класса есть конструктор(ы) - невозможно создать экземпляр без того чтобы один из них вызвался (и это правильно).
Записан
Yuriy
Гость
Re: C++ переменные
«
Ответ #19 :
Август 28, 2011, 12:28 »
Это мысль, я думаю что в этом и проблема многих классов, базовая инициализация такая, как будто пользователь не знает, для чего и с чем едят этот класс. А посему было правильней, я сейчас думаю, конструктор оставлять пустым, а в придачу к классу функция, например Init(). Т.е. пользователь создает пустой класс, грубо говоря название, а затем инициалирует его , а если у него есть готовое решение, тогда присваивает с помощь "=". Это правильный ход мыслей
Записан
brankovic
Гость
Re: C++ переменные
«
Ответ #20 :
Август 28, 2011, 12:45 »
Цитата: Yuriy от Август 28, 2011, 12:28
конструктор оставлять пустым, а в придачу к классу функция, например Init()
В C++ такой вариант возможен, но никто так не делает. Это во-первых неудобно (забудешь init () и получишь падение), а во-вторых ненужно, т.к. базовая инициализация, как правило, тривиальна и не сказывается производительности.
Записан
Страниц:
1
[
2
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...