Другое > 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
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии