Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по программированию на C/С++

Автор: RedLord
Дата сообщения: 15.11.2009 23:08
Denchik

f2 - тоже по ссылке, только константной


void f2(int x) - так по значению.

одно из ограничений - наличие конструктора\оператора копирования для типа
Автор: Qraizer
Дата сообщения: 16.11.2009 04:03
Массивы и функции по значению нельзя.
Автор: Denchik
Дата сообщения: 16.11.2009 14:52
RedLord

Цитата:
f2 - тоже по ссылке, только константной

так я об этом и писал:

Цитата:
Также по ссылке нельзя передавать константы как неконстантный аргумент, например:
Автор: Ntony
Дата сообщения: 16.11.2009 21:48
akaGM
в книгу я всегда в первую очередь заглядываю...потом уже в интеренете ищу..
Автор: Raimurok
Дата сообщения: 18.11.2009 17:30
Всем привет!Ну вот пришло время 3 курс..учил учил с++ и дошел до задачи по написанию графического интерфейса...Вот как это сделать???На UNIX системах?Ну или как нибудь?С чего начинать?Может какие нибудь книжки посоветуете??Помимо этого дали задания типа добавления в программу функции позволяющие запускать другие приложения...Уф народ помогите гуглил весь день так и ничего не нашел...!!!Плиз!!!


Автор: Darl
Дата сообщения: 18.11.2009 17:42
Raimurok
>по написанию графического интерфейса:
http://forum.sources.ru/index.php?showforum=28
>функции позволяющие запускать другие приложения
http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx
http://devoid.com.ua/functions-about/c-functions/spawnl-spawnvpe.html
Автор: Raimurok
Дата сообщения: 18.11.2009 17:52
Пасиб!!!!Выручил...Уже что то...Дальше я сам накопаю)))
Автор: qiGuar28
Дата сообщения: 19.11.2009 01:58
Здравствуйте. Не я первый, не я последний задаю такие вопросы, но всё же от этого никуда не деться.

Хочу выучиться на программиста. Решил самостоятельно освоить С++. Начал изучать книги Джесса Либерти и тренируюсь на Microsoft Visual C++ 6.0.

Будьте добры, скажите, к чему быть готовым, посоветуйте литературу, может компилятор другой, с чем могут возникнуть сложности, на что обратить внимание и т.д.
Автор: ya_Mickey
Дата сообщения: 19.11.2009 09:03
qiGuar28
Тебе, скорее, сюда: http://forum.ru-board.com/topic.cgi?forum=33&topic=0393#1
Автор: ValidolX
Дата сообщения: 19.11.2009 09:36
qiGuar28

каждый уважающий себя с++ ник должен читать вот ето

C++ FAQ LITE
http://www.parashift.com/c++-faq-lite/
Автор: ya_Mickey
Дата сообщения: 19.11.2009 19:20
Ntony

Это один из приколов на собеседованиях при приеме на работу. Еще любят спрашивать про отличия в передаче параметров по ссылке и по указателю.

Одно из главных отличий при передаче параметров по значению - отсутствие возможности их изменять. Вернее, все изменения, внесенные в функции исчезнут при возврате из нее.
Автор: AutoIT
Дата сообщения: 20.11.2009 03:22
Всем КУ!
Уважаемые гуру, хэлп. Вот решил перебираться с AutoITa на более серьезный язык. AutoITa стало фатально нехватать (1,5 года на нем писал). После продолжительного изучения современных языков программирования я сделал свой выбор касательно языка на котором буду писать дальше. Это С++. Справочным материалом я обзавелся, а вот толковую IDE подобрать не могу. Посвтуйте чтонибудь.

ЗЫ: C++Builder 2009, CodeGear RAD Studio постоянно ошибаются... Может косяк в том что у меня архитектура х64? Начинаешь работать, на вторую - третью компиляцию IDE фаталит и вылетает, Microsoft Visual Studio 2008 отказалась устанавливаться...

ЗЗЫ: Система: i7, Win7 x64

ЗЗЗЫ: Планирую разработку следующего ПО: ГУИшные апплеты, работа с БД, работа с TCP & COM.
Автор: ya_Mickey
Дата сообщения: 20.11.2009 05:06
AutoIT
Может посмотришь в сторону C#? C++ немного для другого позиционируется. Не мог бы ты объяснить свой выбор?

Как студия отказывается ставиться - что говорит?
Автор: AutoIT
Дата сообщения: 20.11.2009 05:46
ya_Mickey
C# мне не нравится своей кроссплатформенностью и невозможностью (стандартными средствами) компиляции в исполняемый, самостоятельный ехе файл... Надо виртуал машину ставить, нэт фреймворк, нах оно надо, на выходе своей программы хочу иметь полноценный ехе файл, без всякого гемора... это главная мотивация. Я не собираюсь писать программы которые пойдут где-то там на макентоше, и мне абсолютно неважно как мой софт будет вести себя под вайном линуховым... Я пишу программы в первую очередь для себя, и делюсь ими с близкими (которые тоже на винде). Мне этот гемор не нужен, по этой-же причине мне не подходит ява.

Студия фаталит. Фатал ерор и ппц... мож образ кривой или хз че там...
Автор: ya_Mickey
Дата сообщения: 20.11.2009 06:00
AutoIT

Цитата:
C# мне не нравится своей кроссплатформенностью и невозможностью (стандартными средствами) компиляции в исполняемый, самостоятельный ехе файл...

Уважаю чужое мнение но... (Ой к холиворам бы не скатиться)
Я так понимаю, ты будешь все делать на виндах. Так? Винды явно не Win2000 или старше, то есть, как минимум, .NET Framework 1.1 всегда в наличии. Так?
Охота уменьшить время запуска (на пару миллисекунд) - есть утилитка ngen.exe.

Про яву - там понятно, без JRE нифига не запустится. Но MSIL машина всегда есть во всех виндах начиная с XP. Да и архитектура у них принципиально разная (Java vs .NET).

По поводу студии.
В каком месте фатал? При установке или при запуске? И как этот фатал выдается - через лог или окошечком? Есть ли чего по поводу этого еррора в системном логе?

Добавлено:
AutoIT
Пойми меня правильно. Я не хочу тебя отговаривать от изучения С++. Язык великий и могучий. Но ОЧЕНЬ сложный. Для тех задач которые ты описал он подходит, но ... как бы это сказать... вот микроскопом тоже можно гвозди забивать.

Чтобы начать в нем уверенно программировать нужно потратить пол года. После этого, открывая очередную книгу ты понимаешь, что ты языка не знаешь. Начинаешь долбить дальше. Процесс итерационный и сходяшийся на бесконечности.

Внимание вопрос. ТЕБЕ ОНО НАДО?
Автор: KChernov
Дата сообщения: 20.11.2009 08:27
AutoIT

Цитата:
Вот решил перебираться с AutoITa на более серьезный язык.

AutoIT если что - это не язык, а название утилиты.
А язык в неё - JavaScript


Цитата:
C++Builder 2009, CodeGear RAD Studi

Как конкретно?


Цитата:
Microsoft Visual Studio 2008 отказалась устанавливаться


Цитата:
ЗЗЫ: Система: i7, Win7 x64

Возможно надо устанавливать в режиме совместимости с ХР, а мб вообще новую версию под 7-ку выпустили (и возможно это уже 2010-я).


Цитата:
ЗЗЗЫ: Планирую разработку следующего ПО: ГУИшные апплеты, работа с БД, работа с TCP & COM.

Для этого недостаточно выбирать язык - надо ещё и библиотеку выбирать.
Ещё стоит определиться, с целевыми платформами.

Если это винда - тогда разумно использовать Microsoft Visual Studio, но стоит учитывать, что современная библиотека для винды - .Net. Хотя конечно можно писать и на MFC, а лучше на чём-нибудь более низкоуровневом - например STL.

Если нужна кросплатформенность - можно посмотреть в сторону QT.
А в качестве среды разработки взять например Eclipse.


Цитата:
и невозможностью (стандартными средствами) компиляции в исполняемый, самостоятельный ехе файл... Надо виртуал машину ставить, нэт фреймворк

Но вот не уверен, что QT(нак же как и дургую нештатную библиотеку) не надо ставить.

ya_Mickey

Цитата:
Так? Винды явно не Win2000 или старше, то есть, как минимум, .NET Framework 1.1 всегда в наличии. Так?
Охота уменьшить время запуска (на пару миллисекунд) - есть утилитка ngen.exe.

Про яву - там понятно, без JRE нифига не запустится. Но MSIL машина всегда есть во всех виндах начиная с XP. Да и архитектура у них принципиально разная (Java vs .NET).

На самом деле разница не принципиальная для конечного пользователя, так как разработчику всегда хочется использовать что-то по-новее, чего у пользователя может ещё не стоять. С другой стороны, обноситься никогда не помешает.
Но для автора это всё не актуально.
Автор: ya_Mickey
Дата сообщения: 20.11.2009 08:53
KChernov

Цитата:
Возможно надо устанавливать в режиме совместимости с ХР, а мб вообще новую версию под 7-ку выпустили (и возможно это уже 2010-я).

У меня дома встала на раз. На семерке, правда x86, на висте на x64.

На обеих машинках поднят UAC. Все работает. Правда периодически говорит, что могут быть проблемы с совместимостью на Win7.

Фатал ерроры могут означать много чего. Начиная от тупо вирусов и особо рьяных антивирусов, заканчивая тем, что при установке недоставилась какая-нибудь dll-ка (или встала не туда, а путь забыла прописать).
Может влиять еще, например какой-нибудь кривой add-on. В общем, причин - масса, нужна более детальная диагностика.
Автор: Ben1958
Дата сообщения: 20.11.2009 09:27
Переустановил Си++, когда пишу программу с применением русского языка, получаю абракодабру, латынь все нормально. Прошу помощи!!!
Автор: ya_Mickey
Дата сообщения: 20.11.2009 09:45
Ben1958
Ты это имеешь в виду? http://forum.ru-board.com/topic.cgi?forum=33&topic=4227&start=280#15
Автор: KChernov
Дата сообщения: 20.11.2009 11:07
ya_Mickey

Цитата:
Ты это имеешь в виду? http://forum.ru-board.com/topic.cgi?forum=33&topic=4227&start=280#15

Вот бы ещё в фортране так сделать?..
А вообще это всё пережитки исторически сложившейся путаницы с кодировками в винде.
А поскольку в современных редакторах в окне виндовая кодировка (и в студии это вроде изменить нельзя), а в консоли - досовская, то и получается, что без доработки "напильником" сообщения будут либо нормально читаться в редакторе, либо при работе программы.
Один из способов с этим разобраться кардинально - все сообщения брать из файла ресурсов

Добавлено:
ya_Mickey

Цитата:
У меня дома встала на раз. На семерке, правда x86, на висте на x64.


Цитата:
масса, нужна более детальная диагностика.

Ну тогда для начала можно посоветовать AutoIT обновить винду по-максимуму.
Автор: ya_Mickey
Дата сообщения: 20.11.2009 11:33
KChernov

Цитата:
Вот бы ещё в фортране так сделать?..

Я надеюсь что уже в любом фортране есть поддержка широких символов. Возможно даже в последних стандартах. В этом случае все вопросы должны решаться автоматически.
Во-вторых, можно воспользоваться финтом ушами - вызовом API-шных вызовов типа MultiByteToWideChar и WideCharToMultiByte. Там параметрами можно указать кодировки, из которой надо перегнать в уникод и в какую надо перегнать из уникода.
Автор: KChernov
Дата сообщения: 20.11.2009 12:06
ya_Mickey

Цитата:
Я надеюсь что уже в любом фортране есть поддержка широких символов.

Зачем она для языка для вычислений?
По крайней мере про 10-й интеловския я такого не слышал.
Ну то есть через вставку сишных кодов можно как в примере сделать, но это уже и есть "напильником".
Автор: ya_Mickey
Дата сообщения: 20.11.2009 12:12
KChernov

Цитата:
Зачем она для языка для вычислений?

Ну... А если операционка вообще ничего кроме уникода не понимает?
И еще, если рассуждать так, то зачем вообще фортрану такая мощная поддержка ввода-вывода, объектно-ориентированного программирования и т.д.
Думаю сейчас в нем и нормальная поддержка рекурсии есть и работа с динамической памятью.
Вообще, когда я читал стандарт Fortran 95, мне показалось, что по крайней мере Delphi они переплюнули и почти доплюнули до С++.
Автор: AutoIT
Дата сообщения: 20.11.2009 13:03
ya_Mickey
Убедительно говоришь ) .NET и правда щас на каждой виндовозной машине. Я вот единственное опасаюсь как бы там проблем не было с работой с ресурсами винды. Ну там правка реестра, работа с файлами. Читал описане VM JDK "пресечение опасных действий во время выполнения бинарного кода" мне такая формулировка не нраица. А если ВМ откажется выполнять сценарий работы с реестром или файловой системой? Решит что замена системной длл слишком "опасное" действие и не будет его выполнять. Даи потом, как написанную программу запускать? из под КС? вызывать ВМ с параметром?Может я просто мало знаю про Яву и С# поэтому они мне и не нравяца))

Фаталит студия в самом начале установки, винда плюет окошко мол завершена работа прораммы такойто и на сетап кажет(( В режиме совместимости таже хрень
Автор: ya_Mickey
Дата сообщения: 20.11.2009 13:21
AutoIT
Паимаишшшш. По всем моим понятиям и опыту (я работаю с .NET еще с версии 1.0 - ну и глючная же она была, вернее даже с ее бетой), MSIL машина не является машиной исполняющей код. Ее основными задачами являются:
1. Компилить промежуточный (MSIL) код в нативный во время первого к нему обращения.
2. Управлять распределением managed-памяти (кучи), в т.ч. подчищать мусор.

В остальном все идет на уровне родного процессору кода и родных (SIC) для операционки dll-ек. Второй пункт является принципиальным отличием от Java, которая предоставляет доступ к объектам ОС через _свои_ библиотеки, а не родные, тем самым являясь именно виртуальной машиной.

Так что программирование работы с реестром и файловой системой не особо отличается на С# и C++. Только на C# тебе сразу даются объекты для работы с этими системами, а на плюсах ты еще должен их где-то раздобыть.

Немного другой случай - когда ты исполняешь .NET аплеты, запускаемые с удаленного сервера (по SMB или http или еще как нибудь) Вот тогда уже ОС тебе выделяет песочницу, через которую ты можешь что-то сделать только в рамках доверия данной машины той с которой все запускается.
То есть, если ты запускаешь что-то из доверенной зоны, с большой долей вероятности аплету будет доступен и реестр и вся файловая система. Если же ты запускаешь что-то из зоны Internet или чего-нить хуже, ты получишь максимум - процессорное время и сколько-то памяти.

Так что вооружись Рихтером и Ховардом, они расскажут, как все в .NET шоколадно (а это практически всегда так). После этого ты скажешь "Да и ... с этими фреймворками - кому надо - поставят" и станешь фанатом этой системы как им стал я.

А уж после того как ты изучешь вторую версию C#, а за ней и третью, такие вещи как WPF, WWF и WCF, ты на плюсы будешь смотреть с жалкой усмешкой.

Это все мое ИМХО.
Раньше я тоже был плюсовиком-маньяком, пока не увидел что дает .NET.
Автор: AutoIT
Дата сообщения: 20.11.2009 13:33
ya_Mickey
А у тебя просто дар))) Убедил таки!!!
Лан, с чего начать? IDE? Что почитать?
Автор: KChernov
Дата сообщения: 20.11.2009 13:37
ya_Mickey

Цитата:
Вообще, когда я читал стандарт Fortran 95

2 вопроса:
1. Где оно полностью реализовано;
2. Кто это использует?

В общеи IF под VS - 2 костыля, соединённые ломом (типа чтобы только не развалилось)

Но это всё оффтоп - продолжать лучше либо в соотв теме, либо в привате.

AutoIT

Цитата:
А если ВМ откажется выполнять сценарий работы с реестром

А зачем с ним работать?
Настройки лучше хранить вместе с программой - сразу портабельность получается.
Автор: ya_Mickey
Дата сообщения: 20.11.2009 13:39
AutoIT
Ну вот с IDE у тебя как раз облом пока намечается. Ты хоть в системный лог смотрел? Может дистриб поновой выкачать?
BTW, может у тебя с архитектурами конфликт - вызываешь инсталлер для x64 на x32?

Почитать - я уже написал - сначала что-нить по шарпу - этого добра полно. Потом - Рихтер, но именно по .NET (он раньше и про Win32 писал). Затем Ховарда "Защищенный код" - ну это скорее на любителя.

Да, и писать, писать, писать.

Добавлено:
KChernov

Цитата:
А зачем с ним работать?
Настройки лучше хранить вместе с программой - сразу портабельность получается.

Сразу видно, Фортранщег. И линуксоид, наверное, при том.

Есть несколько плюсов хранения данных в реестре.
1. Как-никак иерархическая БД - можно организовывать любую вложенность параметров с очень быстрым временем считывания.
2. Можно круто подменять параметры из HKLM параметрами из HKCU.
3. Более гранулированная защита.

Ну и тыды и тыпы.


Добавлено:

Цитата:
В общеи IF под VS - 2 костыля, соединённые ломом

СУПЕР! В цитатник!
Ну не знаю я кто это реализовал. Знаю что один из самых крутых фортранов на сегодня - от Fujitsu-Siemens (данные на пару лет назад, может уже продались). Возможно там это все есть.
Автор: KChernov
Дата сообщения: 20.11.2009 19:57
ya_Mickey

Цитата:
Сразу видно, Фортранщег.

Попрошу без оскорблений!


Цитата:
Есть несколько плюсов хранения данных в реестре.
1. Как-никак иерархическая БД - можно организовывать любую вложенность параметров с очень быстрым временем считывания.
2. Можно круто подменять параметры из HKLM параметрами из HKCU.
3. Более гранулированная защита.

1. НТФС - тоже БД, так что хранить в файловой иерархии (если уж данных НАСТОЛЬКО много, что скорость доступа к ним становится критична) тоже не медленно. А если их действительно много - лучше своя БД - хоть тот же SQLlite хотя бы;
2. Так ли это надо?
3. Если настроек мало, то зачем это? А если много - уж лучше своя БД.
В общем неизвестно, чего там больше - плюсов или минусов.
Автор: Eminence
Дата сообщения: 21.11.2009 05:12

Цитата:
Один из способов с этим разобраться кардинально - все сообщения брать из файла ресурсов
при выводе на консоль этого недостаточно, нужно еще использовать CharToOem

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193

Предыдущая тема: не знаю как назвать тему :-)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.