Форум программистов, компьютерный форум CyberForum.ru

Преимущество Win Api - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Посоветуйте среду http://www.cyberforum.ru/cpp-beginners/thread360247.html
Посоветуйте интегрированную среду разработки кросплатформенных приложений. Сама среда должна иметь виндузячую версию, поддерживать использование в разрабатываемом приложении сторонних библиотек, требуется сборка готового приложения под винду, и под LINUX.
C++ Как сделать генератор случайных чисел? Привет всем. Возник очередной вопрос за это утро. Как сделать генератор случайных чисел? В учебнике написано так: "Для этого существует функция random(K) - генератор случайных чисел." Учебник предлагает вначале написать так: randomize(); //Инициализация генератора случайных чисел А потом уже использовать функцию random(K); И дескать это будет целое число в интервале http://www.cyberforum.ru/cpp-beginners/thread360244.html
C++ Чтение из файла
формат файла: text, 200 text2, 180 и т.д.... #include <math.h> #include <stdio.h> struct cars {
Слово array является зарезервированным в Visual Studio 2008? C++
Привет всем. Читаю старую книгу по С++. Там для массива предлагают использовать имя array, например: int array; Но когда я это напечатал, то у меня слово array стало синим: array Как я понимаю, синими являются зарезервированные слова. Но, судя по учебнику, слово array таковым не является. Там в начале приведён полный список ключевых слов С++ и в этом списке array нет. Но книга старая....
C++ Можно ли задать массив, не зная заранее его длину? http://www.cyberforum.ru/cpp-beginners/thread360238.html
Доброе утро всем. Вчера начал читать "главу 4 Массивы". Там предложили 2 варианта объявления массива: 1) неинициализированный int A; 2) инициализированный int A={2,3,5,1}; Я это напечатал, всё работает. Потом в учебнике написано так:
C++ классы и объекты в с++ очень прошу помочь написать программу. т.к. в программировании я 0 :( Написать программу, в которой создаются и разрушаются объекты, определенного пользователем класса. Выполнить исследование вызовов конструкторов и деструкторов КАДРЫ имя – char* номер цеха – int разряд – int подробнее

Показать сообщение отдельно
Bers
Заблокирован
04.10.2011, 21:40     Преимущество Win Api
Цитата Сообщение от diagon Посмотреть сообщение
В данном случае устанавливает права на файл, принимает переменную, указывающую, создавать ли файл при его отсутствии(вполне логичный параметр, да), атрибуты и еще несколько абсолютно лишних параметров.
Вы получаете описатель файла, который для вас создаёт система где то в своих недрах.
Допустим, вы хотите создавать файл вот так:

описательФайла = СоздатьФайл(имя);

А режим работы файла (считай устройства), задавать позднее при необходимости:

УстановитьРежим(описательФайла, режим);


что делать, если реальное устройство таково, что задать режим его работы можно только в момент создания файлаУстройства, а позднее создавать нельзя?

Добавлено через 15 минут
Можно например, пойти таким путём:

описательФайла = СоздатьФайлПринтера(имя, режимПринтера);
описательФайла = СоздатьФайлТекстовый(имя);
и тп.

Но ведь реальные устройства могут быть нестандартными. Как тогда быть со всеми этими сеттерами и геттерами?
Писать для кождого устройства свои наборы?

ИзменитьРежимПринтера()
ИзменитьРежимТекстовогоФайла()
изменитьРежимКомПорта()
и тд?

Вы представляете себе какое количество функций придётся написать, и сколько их придётся поддерживать?


Что значит для крупного проекта добавление всего одной функции?
Я сам по опыту не знаю. Но читал из книг, что это что-то такое:
- изменения во всех документах проекта (работа руководителей проекта)
- изменения в архитектуре (не всегда, но если имеет место быть - стоимость функции взлетит многократно)
- изменение модуля, в который вводится функция (оплата высокооплачиваемых специалистов)
- тестирование модуля, тестирование всех модулей которые хоть как то могут быть связанны с модифицированным.

И все потому, что небольшие изменения в одном месте могут привести к отказу работы в других, уже протестированных (оплаченных) местах.
И тд и тп. Всего одна какая нить тривиальная функция потребует слаженной работы целой команды. И каждому надо платить зарплату, и не малую.

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

Поэтому, если вы сделаете мини-обёртку над функцией винапи для собственного же удобства - вам это будит стоить копейки.
Если Майкрософт для вашего удобства будит делать дополнительную функцию - ей это будит стоить тысячи рублей.
А поскольку Майкрософт одна, а вас - клиентов, очень много, и каждый со своим прибабахом, то Майкрософт решили сделать максимально минималистичный, но в тоже время универсальный интерфейс, что бы каждый мог пользоваться по своим потребностям. Кому не нравится - те могут пользоваться библиотеками, типа кьют, которые на самом деле - всего лишь надстройки над интерфейсами ОС.
 
Текущее время: 18:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru