размышления о Qt, STL и pragma |
Здравствуйте, гость ( Вход | Регистрация )
размышления о Qt, STL и pragma |
Litkevich Yuriy |
20.7.2010, 14:01
Сообщение
#11
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
igor_bogomolov |
20.7.2010, 15:12
Сообщение
#12
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
а прагму - проверить, поддерживает ли компилятор ИМХО. Уж тогда лучше делать так как написано в WikipediaЦитата Можно использовать обе команды, #pragma once и include guards, для написания переносимого кода, что также может принести выгоду от применения #pragma once при оптимизации (если компилятор её поддерживает):
File «grandfather.h»
|
|
|
Алексей1153 |
20.7.2010, 15:54
Сообщение
#13
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
igor_bogomolov, мой код вряд ли будет на множестве компиляторов обрабатываться, поэтому мне достаточно просто прагмы. Ну а если повстречается необходимость - то поиск по всему коду спасёт. Но это вряд ли понадобится
Проверил сейчас - в креаторе #pragma once прекрасно работает. В студии же всегда работала тоже |
|
|
Iron Bug |
20.7.2010, 17:39
Сообщение
#14
|
Профессионал Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: 12 |
c STL есть две основных заморочки: с многопоточностью он частенько не дружит и память неоптимально жрёт. бывает, что программа начинает "расти" в памяти, хотя нигде ничего не выделяется вроде. это проделки STL-евских векторов и прочих подобных хранилищ. так что аккуратнее с ними надо.
|
|
|
Алексей1153 |
21.7.2010, 9:36
Сообщение
#15
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Iron Bug, многопоточности в STL нет неспроста - это дань скорости работы библиотеки. Если нужна синхронизация - это вручную (или оболочку соорудить)
Насчёт дефрагментации памяти - тут не в STL дело, того же самого можно добиться и вызовами new/delete. Тут уже зависит от подхода к проектированию - если предполагается частая реаллокация, то можно использовать свой пул (или можно аллокатор переопределить) объектов, а в контейнере держать указатели |
|
|
Алексей1153 |
12.8.2010, 21:20
Сообщение
#16
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Только заметил - название темы. По-моему, не бывает "философия о <чём-либо>", философия - она "философия чего-либо"
|
|
|
Litkevich Yuriy |
12.8.2010, 21:51
Сообщение
#17
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Алексей1153 |
12.8.2010, 21:54
Сообщение
#18
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Ну, так то оно так, даже переводится как "люблю мудрствовать", но по-русски не звучит текущее название темы )) А, поскольку, тема создана как бы от моего лица (а я так назвать не мог), вот и возмущаюсь немного
Можно оставить просто "Qt, STL и pragma" или "салат из Qt, STL и pragma" Сообщение отредактировал Алексей1153 - 12.8.2010, 21:55 |
|
|
Litkevich Yuriy |
12.8.2010, 22:21
Сообщение
#19
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
а если совсем по народному: размышления о Qt, STL и pragma
подойдёт? |
|
|
Алексей1153 |
12.8.2010, 22:21
Сообщение
#20
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
пойдёт )
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 9:07 |