| Другое > Hard'n'Soft |
| Програмирование на C++ |
| << < (23/25) > >> |
| gepar:
Начал изучать WinApi и что-то совсем он мне не по нраву :( |
| HoRRoR:
Попробуй Qt, например. |
| gepar:
HoRRoR,не могу, у меня WinApi + MFC + Matlab + программирование под линукс (ну хоть тут без интерфейсов, но взаимодействия всякие между процесами есть)+ Visual UML + VBA (вообще не знаю когда его учить, он для меня совсем не знаком)+ Системное программирование и всё до НГ, нет времени для экспериментов в эти пол года. Ну и ещё предметы всякие есть не относящиеся к it, но я перечислять их уж не буду. В WinApi в первую очередь напрягает что даже для вывода текста функции хитрые типа TextOut, дык мало ещё просто вывести текст а чтобы понять как он будет отображаться нужно хитрые расчёты связанные с шрифтом и его размерностями (через поля TEXTMETRIC). Ещё не нравится что практически все функции сделаны на все случаи жизни поэтому принимают по 25 параметров, о хитрых структурах по 40 полей я вообще молчу. В общем на данный момент выглядит мне оно совершенно новым и не знакомым, от с++ только синтаксис остался да операторы циклов. Добавлено позже: Ещё добавлю что ошибки сложно искать так как самому их найти почти не реально как начинающему, а на русских форумах по WinAPi только тему создаёшь так сразу и жди ответа дня 3 и то не факт что кто-то ответит (это я пока задаю элементарные вопросы с простенькими примерами из Петзольда), притом что по консольному с++ ответы писали буквально через 5 минут. Добавлено позже: В тему с++ ещё: http://liveworkspace.org/ - сайт онлайн компилятор. Просто цацка так как всё довольно простенько, windows.h там конечно не подключить, ввод в поток тоже на работает (компилятор его попросту пропускает), но что-то не сложное можно запустить. Библиотека stl там присутствует если что. Добавлено позже: HoRRoR,а ты сам WinApi изучал? |
| ColaKid:
Потихоньку знакомлюсь с WinApi. Кто-нибудь может подсказать, как задать приложению иконку? Я имею в виду не ту, которая на панели задач, а иконку самого файла, ту, что отображается в проводнике. Среда Visual Studio 2010. |
| gepar:
ColaKid, ну так нужно же проассоциировать файл со своей программой через запись в реестр, там же указать иконку. Ато тебе прям для всего функции winapi подавай, их и так вон дофига накопилось :) В MFC кстати чуть попроще: при создании проекта тип файла для твоего приложения указываешь и оно само проассоциирует, иконку только какую-то от студии левую прилепит, но зато не требует от тебя никаких телодвижений. |
| ColaKid:
gepar, ты, наверное, рассказываешь, как ассоциировать с приложением какой-то тип данных, наподобие как .doc открывается в word? А я спрашиваю, как самому экзешнику задать иконку. :) |
| Ti_:
Что сейчас наиболее актуальное для изучения? Думаю начать с консольных приложений в VS2008EE. Использовать какие-то учебники, или просто документацию? Слишком уж много всего, а что выбирать не ясно. Есть ли вообще некая 'оффициальная' документация или всё это варьируется в зависимости от студий и кому как захотелось, ну и желательно конечно переведённая на русский. |
| gepar:
Ti_, с++ это не железяка какая-то, его не по документациям обычно изучают :) --- Цитата: Ti_ ---Что сейчас наиболее актуальное для изучения? --- Конец цитаты --- Ээээ, ну с++x11, те версия за 2011 год. Есть ещё QT, boost и т.д. , но сначала нужно изучить сам с++, а далше можешь что-то почитать на нём базирующееся. --- Цитата: Ti_ ---Думаю начать с консольных приложений в VS2008EE. --- Конец цитаты --- Нет разницы какая студия, разве что 2008ая не поддерживает некоторые фичи c++x11, но их так немного что можешь начать с неё ну или скачай сразу vs2012 express, она по ресурсам не больше требует чем 2008 (разве что она на XP не встанет если у тебя не 7ка). --- Цитата: Ti_ ---Использовать какие-то учебники, или просто документацию? Слишком уж много всего, а что выбирать не ясно. --- Конец цитаты --- Учебников и правда много. Если с англ. хорошо то C++x11 Страуструпа там вроде уже должна была выйти (я не проверял), а нет так почитай что-то более старое, а с особенностями последних редакций с++ ознакомишься потом. Я лично начинал с книги Дейтелов, но это реально книга для начинающих которые никогда не программировали на языках высокого уровня, если есть время то можешь начать с этой книги - она хорошая, но большая. --- Цитата: Ti_ ---Есть ли вообще некая 'оффициальная' документация или всё это варьируется в зависимости от студий и кому как захотелось, ну и желательно конечно переведённая на русский. --- Конец цитаты --- Да, есть оф. стандарт с++ если ты это имеешь в виду под документацией. Студия это лишь ide, стандарт на с++ один и распространяется на компиляторы, а не на ide. Вообще если хочешь просто в чистом виде статьи по с++ то на msdn есть это всё, там где-то есть что-то типа "начните изучать с++" ссылка и оно тебе сразу выкинет пачку статей для начинающих. Но на русском там не все они так что лучше по книге какой-то разбираться. |
| Ti_:
--- Цитата: gepar от 11 Февраль 2013, 00:08:48 ---Ti_, с++ это не железяка какая-то, его не по документациям обычно изучают :) --- Конец цитаты --- Ну, некоторые товарищи r57shell , пруф: http://www.emu-land.net/forum/index.php/topic,29519.60.msg500950#msg500950 пишут, что как раз использовали справочник + гугл, а ни какие-то там книжки и самоучители. Вот собственно что это за справочник. Некий programmers reference manual ? Добавлено позже: --- Цитата: gepar от 11 Февраль 2013, 00:08:48 ---Ээээ, ну с++x11, те версия за 2011 год. Есть ещё QT, boost и т.д. , но сначала нужно изучить сам с++, а далше можешь что-то по --- Конец цитаты --- Немного не точно выразился, имел ввиду что наиболее актуальное сейчас из документаций. |
| ColaKid:
--- Цитата: gepar от 11 Февраль 2013, 00:08:48 ---Нет разницы какая студия, разве что 2008ая не поддерживает некоторые фичи c++x11 --- Конец цитаты --- Даже последняя не всё поддерживает. Так что нет разницы какую ставить, ну и именно 2008 нет смысла ставить. 2010 или 2012 тогда уж. Но начинать всё равно нужно со стандарта 2003 года, ибо в новом без знания "классики" не разобраться. А там, глядишь, и компиляторы подтянутся. |
| MetalliC:
--- Цитата: gepar ---Я лично начинал с книги Дейтелов, но это реально книга для начинающих которые никогда не программировали на языках высокого уровня, если есть время то можешь начать с этой книги - она хорошая, но большая. --- Конец цитаты --- +1 Дейтел&Дейтел для начинающих имхо самое оно, да и не только для начинающих --- Цитата: Ti_ ---Вот собственно что это за справочник. Некий programmers reference manual ? --- Конец цитаты --- каноничъной книжкой по C является "Керниган и Ричи. Язык C", по C++ - "Бьерн Страуструп. Язык программирования С++", но в плане освоения языка они имхо не очень, как на мой взгляд они более рассчитаны на людей, которые уже знают один или несколько языков программирования высокого уровня. --- Цитата: Ti_ ---Думаю начать с консольных приложений в VS2008EE. --- Конец цитаты --- правильно тебе говорят - ставь 2010 или 2012, для консольных приложений достаточно и бесплатных Express-версий, но если планируешь учиться делать программки с GUI под винду - лучше ставь (пиратские) Pro или Ultimate - там есть редактор форм, можно конечно ресурсы и ручками делать в express, но это из серии в гамаке стоя. |
| Ti_:
Спасибо за ответы. Попробую тогда 2010 pro, но в builder тоже надо будет заглянуть. --- Цитата ---+1 Дейтел&Дейтел для начинающих имхо самое оно, да и не только для начинающих --- Конец цитаты --- Да, наверное будет лучше основы смотреть, лучше уж мало изучить но нормально. |
| MetalliC:
в смысле C++ Builder ? не уверен что в этом есть смысл, пользовался им довольно давно, но на тот момент он был не совсем полноценным - почти все "компоненты" (DCU-шки) были написаны на Дельфи и билдер их использовал при линковке как уже скомпилированные, т.к. честных С++ сорцов этих библиотек не было. может с тех времен что-то уже изменилось, но осадок остался |
| Ti_:
--- Цитата: MetalliC от 11 Февраль 2013, 00:54:39 ---в смысле C++ Builder ? не уверен что в этом есть смысл, пользовался им довольно давно, но на тот момент он был не совсем --- Конец цитаты --- Ну вроде как прочитал, что с gui там попроще, чем всякие winapi. Или VS pro edition уже и предоставляют тоже самое? |
| gepar:
--- Цитата: MetalliC ---каноничъной книжкой по C является "Керниган и Ричи. Язык C", по C++ - "Бьерн Страуструп. Язык программирования С++", но в плане освоения языка они имхо не очень, как на мой взгляд они более рассчитаны на людей, которые уже знают один или несколько языков программирования высокого уровня. --- Конец цитаты --- Мне было интересно читать книгу Страуструпа уже после изучения с++ по книге Дейтелов. Там Страуструп вроде должен был уже выпустить новое издание включающее информацию по с++x11 ещё. MetalliC, ничего не изменилось, разве что борланд слился и его ембрако купили. Ембрако канешн трепыхается как может (уже в прошлом году можно было на билдере писать winRT приложения под win8), но это его не спасает ... Особенно бесит что в этом билдере половины функционала нету и его всё равно надо дописывать руками в итоге получилось что-то типа билдеровская_фигня билдеровская_фигня ВЫЗОВ ВИНАПИ ВОТ ТАКОЙ ДЛИНЫ С КУЧЕЙ ПОПЫТОК ОТОБРАТЬ У БИЛДЕРА ХЕНДЛЕР ОКНА билдеровская_фигня билдеровская_фигня Например когда рисуешь что-то то нельзя даже систему кооридант поменять или перенести точку 0.0 с левого верхнего угла, те даже базового функционала для размещения информации нету. Единственное что меня поразило так это 100500 компонентов, но это только первый 5 минут меня поражало. Через 5 минут я попытался состыковать два компонента и узнал что нифига они не совместимы, например если на TabControl посадить какой-то компонент то с вероятностью 80% он туда не попадёт потому что тот компонент не совместим с ним. В итоге половину логики работы компонентов делаешь сам руками, например мне пришлось самому отслеживать когда на табконтроле переключают страницу и прятать компонент руками, а когда переключались назад на нужную страницу то показывать его ... таким образом создавалось впечатление что элемент и правда принадллежит TabControl да только это же всё время занимает и выглядит со стороны тупо. --- Цитата: Ti_ ---Спасибо за ответы. Попробую тогда 2010 pro, но в builder тоже надо будет заглянуть. --- Конец цитаты --- В билдер лучше не заглядывать, не нужен он тебе, он умер и никому программисты на билдере не нужны сейчас. Его только в универах преподы-ископаемые читают на пару с турбо с++ билдером за 91 год. Добавлено позже: --- Цитата: Ti_ ---Ну вроде как прочитал, что с gui там попроще, чем всякие winapi. Или VS pro edition уже и предоставляют тоже самое? --- Конец цитаты --- Не, оно то проще, но если сравнивать с чистым WINAPI который за 95 год. Тот же MFC удобнее чем билдер и работает по человечески. А вообще если ты гоняешься за GUI то это шарпик надо ... да только не хочу тебя разочаровывать но чтобы писать GUI и понимать что ты пишешь и как оно работает тебе год понадобиться на то чтобы писать не GUI :) |
| ColaKid:
Поясните по хардкору, можно ли вынести определение такого метода в .cpp - файл, и если да, то как? --- Код: ---class my_class { <....> public: my_class& operator << ( const std::wstring& wstr) { <...> return *this; } }; --- Конец кода --- Сейчас метод определен в .h - файле. Update: как всегда, сам нашел ответ на свой вопрос :) У меня объявление класса находится в неймспейсе, а в cpp файле я его указать забыл :hang: |
| gepar:
ColaKid, разбивка на объявление и реализацию классов делается для удобства, а не чтобы сделать. |
| ColaKid:
--- Цитата: gepar от 20 Март 2013, 22:57:58 ---ColaKid, разбивка на объявление и реализацию классов делается для удобства, а не чтобы сделать. --- Конец цитаты --- Понятно, но я же только учусь) |
| gepar:
--- Цитата: ColaKid ---Понятно, но я же только учусь) --- Конец цитаты --- Ок, тогда сделаю вид что я это --- Цитата: ColaKid ---У меня объявление класса находится в неймспейсе, а в cpp файле я его указать забыл --- Конец цитаты --- не видел :) |
| ColaKid:
gepar, эмм... почему? o_0 |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |