XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Общение> Hard & Soft
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
J64_

offline
Опыт: 4,724
Активность:
Переход от Borland Delphi к Visual C++
Собственно помогите что надо знать и т.п.
Почему нету встроенного множества, и property, как в дельфи(в VC++ все делается через жопу)?
Почему чтобы обратиться к полям структур или классов надо иногда через "->", иногда через точку?
Почему иногда не работает авто-дополнение в заголовочных файлах, и собственно зачем нужны эти файлы?
Где мои любимые НЕтипитизированные указатели?
Почему в качестве глобальной переменной нельзя объявлять ref структуры?
Почему иногда не находит библиотеку System?
Как надо правильнее подключать собственные библиотеки, методом include или using namespace?
И самое главное: почему надо каждый раз объявлять тип переменной в аргументах функций?
Из всех этих вопросов, Visual C++ кажется для меня немного стёрмным.
Или подскажите более нормальный язык.
Почему надо вставлять точку-запятую в конце объявления структуры\класса?
как понимаю, VC++ не RAD?
Рыскал в гугле - ответов не нашел.
Старый 13.04.2012, 14:33
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Judycaster64:
Рыскал в гугле - ответов не нашел.
потому что искал не то. Читай книгу. Для базового ознакомления пойдет что нить простенькое, например Павловскую Т.А. Её знаю лично, пишет коротко и по сути, так что быстро найдешь ответы на эти вопросы. После советую почитать уже что нить по серьёзнее. Например Шилдта, Страуструпа, да и в конце концов msdn. Читать лучше в оригинале, ибо считаю, что переводы текстов по программированию не отображают той сути, что хотели авторы.
Judycaster64:
VC++ все делается через жопу
Ну эт да. Judycaster64:
Или подскажите более нормальный язык.
Можно C# для начала.
По личному опыту, переход на C++ оказался не таким уж и болезненным, хотя до сих пор пишу и на delphi
Старый 13.04.2012, 14:46
ScorpioT1000
Работаем
offline
Опыт: отключен
  1. Изучи синтаксис целиком, начни с чистого Си, знай отличия от Си. Это типизированный язык, приведение типов надо сначала задать ручками (перегрузка операторов). Быстро писать ты не научишься, читай книгу, забудь про дельфи.
Почему нету встроенного множества, и property, как в дельфи
  1. Почитай про STL. Потом, как будешь мастером плюсов (хотябы грамматики), переходи к Qt или boost. Это из повсеместного.
ScorpioT1000 добавил:
Ладно, отвечу на всё, ктож еще подскажет... ))
Почему нету встроенного множества, и property, как в дельфи(в VC++ все делается через жопу)?
STL map, hashmap, multimap
Почему чтобы обратиться к полям структур или классов надо иногда через "->", иногда через точку?
стрелка - обращение по указателю, точка - по ссылке или напрямую
Почему иногда не работает авто-дополнение в заголовочных файлах, и собственно зачем нужны эти файлы?
заголовочные файлы в целом нужны, чтобы прилагать их к бинарникам (dll и lib), чтобы при компиляции юзерская программа знала имена внешних функций и классов для обращения
Где мои любимые НЕтипитизированные указатели?
забудь про отсутствие типизации
Почему в качестве глобальной переменной нельзя объявлять ref структуры?
не знаю, о чем ты, но вроде можно,
хидер.h:
classname & myclass;
сурсфайл.cpp:
myclass = *new myclass(параметры конструктора);
Почему иногда не находит библиотеку System?
Что это за библиотека? Ты юзаешь дотнет, тогда тебе в C#, батенька =)
Как надо правильнее подключать собственные библиотеки, методом include или using namespace?
три абсолютно разных понятия, библиотека - это lib/dll, они собираются так как ты захочешь, набор функций и классов. include - это включение любого файла, это директива C-препроцессору, а не компилятору. По правилам на такие файлы делят например классы. И это тока для .h, cpp файлы вставляются сами, про это много правил, их надо обязательно знать, ищи книгу.
namespace - пространство имен, нужно только в серьезных проектах, про это тоже надо знать, но немного, в целом это сделано чтобы избежать конфликтов одинаковых имен конструкций.
И самое главное: почему надо каждый раз объявлять тип переменной в аргументах функций?
Это типизированный язык. Есть такое понятие Наследование и Класс-Интерфейс - это юзается для того чтобы передавать разные классы в одну и ту же функцию, а "просто так" здесь очень строго. И в этом есть свои плюсы =))
Из всех этих вопросов, Visual C++ кажется для меня немного стёрмным.
Потому что ты уже испортил дельфёй себе взгляд на красивое программирование, а я предупреждал еще давно всех =)
Или подскажите более нормальный язык.
Можешь юзать php, perl или python, смотря что тебе надо. Питон мне например не понравился какраз из-за типизации - там нереально отследить, куда делась и что из себя представляет переменная в итоге.
Почему надо вставлять точку-запятую в конце объявления структуры\класса?
Потому что в конце класса может идки имя, например
class Myclass { Myclass(); } A, B, C;
и это будет значить что ты не тока объявил класс, но и создал 3 его экземпляра.
как понимаю, VC++ не RAD?
Все зависит от либ, выучи базовые типы, а потом поймешь, что есть такие вещи как CString или QImage, которые по сути представляют функционал целого notepad и paint в своих методах, и даже больше ) на плюсах действительно можно писать, будуче "на верху". И вполне удачно.

Отредактировано ScorpioT1000, 13.04.2012 в 15:27.
Старый 13.04.2012, 15:08
GadenbIsh
Просто Гад
offline
Опыт: 70,930
Активность:
Почему чтобы обратиться к полям структур или классов надо иногда через "->", иногда через точку?
Есть объекты, а есть указатели на объекты. Обращение через точку - непосредственно у экземпляра объекта, -> у указателя на объект, это равносильно (*object).method() - т.е. сначала берем по указателю сам объект, а уж у него вызываем метод.
GadenbIsh добавил:
а, скорп меня опередил, ну ладно
Старый 13.04.2012, 15:10
ScorpioT1000
Работаем
offline
Опыт: отключен
Самое трудное в синтаксисе Си, а также так средне в плюсах - это понять, чем отличается указатель от значения, а в плюсах еще и от ссылки, причем знать как присваивать все это и брать правильно значение. Особенно со всякими винапивскими LPVOID LPCSTR итп =)
Но в плюсах более труднее полностью понять работу машины шаблонов, compile-time template metaprogramming, вот это круто )
Старый 13.04.2012, 15:13
GadenbIsh
Просто Гад
offline
Опыт: 70,930
Активность:
Не понимаю почему ты так не взлюбил дельфи? Язык простой, безопасный (с памятью нет танцев) - самое то для обучения. Более того, раньше и нормального формошлепа нигде не было: только VB 6.0, Deplhi 5 и C++ builder. Вот последнее - настоящий ад, а дельфи вполне себе ничего. Сейчас же дельфи 7 из "компактного" для обучения - самое то по-моему. Для C# уже нужны знания ооп, а наговнокодить можно везде.
Старый 13.04.2012, 16:12
ScorpioT1000
Работаем
offline
Опыт: отключен
А кто-то пишет без ооп щас?)
Старый 13.04.2012, 16:17
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт: 8,237
Активность:
GadenbIsh:
Для C# уже нужны знания ооп, а наговнокодить можно везде.
ооп не самая сложная тема для понимания имхо. у дельфи я вообще не понял синтаксиса, хотя ламер наверно. А у с++ понятнее
Старый 13.04.2012, 16:31
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Амбидекстрия:
у дельфи я вообще не понял синтаксиса
Не читая не поймешь, аналогично и с С++.
Те кто учил Delphi, говорят что C++ вообще не понятный и понять его нереально, и собственно наоборот. Хотя на самом деле оба языка нормальные и легко понимаются.
Старый 15.04.2012, 14:15
J64_

offline
Опыт: 4,724
Активность:
alexprey, но дельфи формы гавно! :3
Старый 15.04.2012, 14:46
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт: 8,237
Активность:
alexprey:
Не читая не поймешь, аналогично и с С++.
читал таки
Старый 15.04.2012, 15:16
Doc

offline
Опыт: 63,163
Активность:
Мне и то и то в среднем понятно, но плюсы с их ужасающими конструкциями меньше.
Старый 15.04.2012, 18:21
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
Накол С++, кури C#, более удобный язык. Мы вот для электронного правительства софт именно на нем пишем=)
Старый 15.04.2012, 20:22
ScorpioT1000
Работаем
offline
Опыт: отключен
Doc, 15.04.2012 20:15:22:
о как тут даже пример готовый
ScorpioT1000, 20:15:25:
да
ScorpioT1000, 20:15:40:
теперь ты видишь преимущество плюсов? x))
Старый 15.04.2012, 20:41
Faion
Noblesse Oblige
offline
Опыт: 30,395
Активность:
Сравнивать жабу и C++ это как то... Вы бы еще сравнили делфи и питон :facepalm:
это была шутка, но надо же покакать? © Sc
Старый 15.04.2012, 21:03
alexprey
познающий Unity
offline
Опыт: 68,501
Активность:
Judycaster64:
но дельфи формы гавно! :3
хорошие. Конешно не WPF, но дизайнер хороший
Старый 16.04.2012, 17:44
Oxygen D
Вернулся
offline
Опыт: 5,180
Активность:
Зачем вообщем переходить на си? Я пишу на Delphi. Всем доволен.
З.Ы А ещё для полного счастья можно использовать программу Delphi XE2. Там есть всё.
Старый 18.05.2012, 14:39
Doc

offline
Опыт: 63,163
Активность:
Oxygen_D, скажи честно: ты просто не пробовал другого.
Старый 18.05.2012, 14:45
agentex

offline
Опыт: 34,834
Активность:
лучше уж переходить на RAD c++ Builder. не вижу в вижуале никаких преимуществ если не собираешься писать оргомные проекты
Старый 18.05.2012, 17:05
ScorpioT1000
Работаем
offline
Опыт: отключен
Студия тоже RAD, если что. И эклипс. А билдер говно, он вводит какието свои левые типы, когда visual c++ и gcc руководствуются стандартом.
Старый 18.05.2012, 17:35
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 11:58.