J64_
offline
Опыт:
4,724Активность: |
Переход от Borland Delphi к Visual C++
Собственно помогите что надо знать и т.п.
Почему нету встроенного множества, и property, как в дельфи(в VC++ все делается через жопу)?
Почему чтобы обратиться к полям структур или классов надо иногда через "->", иногда через точку?
Почему иногда не работает авто-дополнение в заголовочных файлах, и собственно зачем нужны эти файлы?
Где мои любимые НЕтипитизированные указатели?
Почему в качестве глобальной переменной нельзя объявлять ref структуры?
Почему иногда не находит библиотеку System?
Как надо правильнее подключать собственные библиотеки, методом include или using namespace?
И самое главное: почему надо каждый раз объявлять тип переменной в аргументах функций?
Из всех этих вопросов, Visual C++ кажется для меня немного стёрмным.
Или подскажите более нормальный язык.
Почему надо вставлять точку-запятую в конце объявления структуры\класса?
как понимаю, VC++ не RAD? Рыскал в гугле - ответов не нашел. |
13.04.2012, 14:33 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Judycaster64:
потому что искал не то. Читай книгу. Для базового ознакомления пойдет что нить простенькое, например Павловскую Т.А. Её знаю лично, пишет коротко и по сути, так что быстро найдешь ответы на эти вопросы. После советую почитать уже что нить по серьёзнее. Например Шилдта, Страуструпа, да и в конце концов msdn. Читать лучше в оригинале, ибо считаю, что переводы текстов по программированию не отображают той сути, что хотели авторы. Можно C# для начала. По личному опыту, переход на C++ оказался не таким уж и болезненным, хотя до сих пор пишу и на delphi |
13.04.2012, 14:46 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
ScorpioT1000 добавил:
Ладно, отвечу на всё, ктож еще подскажет... )) STL map, hashmap, multimap стрелка - обращение по указателю, точка - по ссылке или напрямую заголовочные файлы в целом нужны, чтобы прилагать их к бинарникам (dll и lib), чтобы при компиляции юзерская программа знала имена внешних функций и классов для обращения забудь про отсутствие типизации не знаю, о чем ты, но вроде можно, хидер.h: classname & myclass; сурсфайл.cpp: myclass = *new myclass(параметры конструктора); Что это за библиотека? Ты юзаешь дотнет, тогда тебе в C#, батенька =) три абсолютно разных понятия, библиотека - это lib/dll, они собираются так как ты захочешь, набор функций и классов. include - это включение любого файла, это директива C-препроцессору, а не компилятору. По правилам на такие файлы делят например классы. И это тока для .h, cpp файлы вставляются сами, про это много правил, их надо обязательно знать, ищи книгу. namespace - пространство имен, нужно только в серьезных проектах, про это тоже надо знать, но немного, в целом это сделано чтобы избежать конфликтов одинаковых имен конструкций. Это типизированный язык. Есть такое понятие Наследование и Класс-Интерфейс - это юзается для того чтобы передавать разные классы в одну и ту же функцию, а "просто так" здесь очень строго. И в этом есть свои плюсы =)) Потому что ты уже испортил дельфёй себе взгляд на красивое программирование, а я предупреждал еще давно всех =) Можешь юзать php, perl или python, смотря что тебе надо. Питон мне например не понравился какраз из-за типизации - там нереально отследить, куда делась и что из себя представляет переменная в итоге. Потому что в конце класса может идки имя, например class Myclass { Myclass(); } A, B, C; и это будет значить что ты не тока объявил класс, но и создал 3 его экземпляра. Все зависит от либ, выучи базовые типы, а потом поймешь, что есть такие вещи как CString или QImage, которые по сути представляют функционал целого notepad и paint в своих методах, и даже больше ) на плюсах действительно можно писать, будуче "на верху". И вполне удачно. Отредактировано ScorpioT1000, 13.04.2012 в 15:27. |
13.04.2012, 15:08 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
GadenbIsh
Просто Гад
offline
Опыт:
70,430Активность: |
Есть объекты, а есть указатели на объекты. Обращение через точку - непосредственно у экземпляра объекта, -> у указателя на объект, это равносильно (*object).method() - т.е. сначала берем по указателю сам объект, а уж у него вызываем метод. GadenbIsh добавил: а, скорп меня опередил, ну ладно |
13.04.2012, 15:10 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Самое трудное в синтаксисе Си, а также так средне в плюсах - это понять, чем отличается указатель от значения, а в плюсах еще и от ссылки, причем знать как присваивать все это и брать правильно значение. Особенно со всякими винапивскими LPVOID LPCSTR итп =)
Но в плюсах более труднее полностью понять работу машины шаблонов, compile-time template metaprogramming, вот это круто ) |
13.04.2012, 15:13 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
GadenbIsh
Просто Гад
offline
Опыт:
70,430Активность: |
Не понимаю почему ты так не взлюбил дельфи? Язык простой, безопасный (с памятью нет танцев) - самое то для обучения. Более того, раньше и нормального формошлепа нигде не было: только VB 6.0, Deplhi 5 и C++ builder. Вот последнее - настоящий ад, а дельфи вполне себе ничего. Сейчас же дельфи 7 из "компактного" для обучения - самое то по-моему. Для C# уже нужны знания ооп, а наговнокодить можно везде. |
13.04.2012, 16:12 | #6
+0/−1
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
А кто-то пишет без ооп щас?) |
13.04.2012, 16:17 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт:
8,237Активность: |
GadenbIsh:
ооп не самая сложная тема для понимания имхо. у дельфи я вообще не понял синтаксиса, хотя ламер наверно. А у с++ понятнее |
13.04.2012, 16:31 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Амбидекстрия:
Не читая не поймешь, аналогично и с С++. Те кто учил Delphi, говорят что C++ вообще не понятный и понять его нереально, и собственно наоборот. Хотя на самом деле оба языка нормальные и легко понимаются. |
15.04.2012, 14:15 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J64_
offline
Опыт:
4,724Активность: |
alexprey, но дельфи формы гавно! :3 |
15.04.2012, 14:46 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Амбидекстрия
Silenced by ScorpioT1000
offline
Опыт:
8,237Активность: |
alexprey:
читал таки |
15.04.2012, 15:16 | #11
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Мне и то и то в среднем понятно, но плюсы с их ужасающими конструкциями меньше. |
15.04.2012, 18:21 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
Накол С++, кури C#, более удобный язык. Мы вот для электронного правительства софт именно на нем пишем=) |
15.04.2012, 20:22 | #13
+1/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Doc, 15.04.2012 20:15:22:
о как тут даже пример готовый ScorpioT1000, 20:15:25:
да ScorpioT1000, 20:15:40: теперь ты видишь преимущество плюсов? x)) |
15.04.2012, 20:41 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Faion
Noblesse Oblige
offline
Опыт:
30,395Активность: |
Сравнивать жабу и C++ это как то... Вы бы еще сравнили делфи и питон :facepalm:
это была шутка, но надо же покакать? © Sc |
15.04.2012, 21:03 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Judycaster64:
хорошие. Конешно не WPF, но дизайнер хороший |
16.04.2012, 17:44 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Oxygen D
Вернулся
offline
Опыт:
5,180Активность: |
Зачем вообщем переходить на си? Я пишу на Delphi. Всем доволен. З.Ы А ещё для полного счастья можно использовать программу Delphi XE2. Там есть всё. |
18.05.2012, 14:39 | #17
+0/−5
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Oxygen_D, скажи честно: ты просто не пробовал другого. |
18.05.2012, 14:45 | #18
+4/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,534Активность: |
лучше уж переходить на RAD c++ Builder. не вижу в вижуале никаких преимуществ если не собираешься писать оргомные проекты |
18.05.2012, 17:05 | #19
+0/−4
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Студия тоже RAD, если что. И эклипс. А билдер говно, он вводит какието свои левые типы, когда visual c++ и gcc руководствуются стандартом. |
18.05.2012, 17:35 | #20
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|