Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> тип параметров в функции 
:(
    Опции темы
Mormishka
Дата 19.4.2011, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 25.8.2010

Репутация: нет
Всего: нет



Есть ли возможность как не писать несколько раз тип данных в функции 
void f(double x1,double x2)

PM MAIL   Вверх
asmdzen
Дата 19.4.2011, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



**


Профиль
Группа: Участник
Сообщений: 345
Регистрация: 28.11.2010

Репутация: 3
Всего: 5



Mormishka, template?
PM MAIL   Вверх
borisbn
Дата 19.4.2011, 21:25 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 21
Всего: 135



Mormishka, более 4-х параметров - правило плохого тона, а 3-4 раза повторить в описании и потом сказать IDE - сделай имплементацию - влом?
Или интересуют возможности стандарта? Если второе - то не проще ли почитать сам стандарт?
Там всё сказано, причём однозначно. Не то, что здесь на форуме "собирать мнения"...


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
bsa
Дата 19.4.2011, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Mormishka, нет нельзя. Сколько параметров, столько и типов. Тем более что, как заметил borisbn, более 4-х параметров - признак плохого тона или ошибки дизайна. Так что, от пары повторений ты не умрешь.
PM   Вверх
bems
Дата 19.4.2011, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: нет
Всего: 88



Цитата(borisbn @  19.4.2011,  21:25 Найти цитируемый пост)
более 4-х параметров - правило плохого тона
а мне всегда нравилась CreateProcess  smile 



--------------------
Обижено школьников: 8
PM MAIL   Вверх
bsa
Дата 19.4.2011, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(bems @  19.4.2011,  22:38 Найти цитируемый пост)
а мне всегда нравилась CreateProcess

WinAPI - самый достойный (из известных мне) пример ужасного дизайна. И функции выполняющие не то, что следует из их названия (CreateFile, ClearCommError, ...) и миллион параметров у функций, когда большинство из них мало кем используются, выполнение большого спектра задач одной функцией...
PM   Вверх
bems
Дата 19.4.2011, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: нет
Всего: 88



bsa, не понял, CreateFile не создаёт объект ядра файл? А что же она тогда делает?


--------------------
Обижено школьников: 8
PM MAIL   Вверх
volatile
Дата 20.4.2011, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Цитата(bems @  19.4.2011,  23:20 Найти цитируемый пост)
CreateFile не создаёт объект ядра файл? А что же она тогда делает? 

она много чего делает. Например:
Код

hconsole = CreateFile(_T("CONOUT$"),GENERIC_READ|GENERIC_WRITE,FILE_SHARE_WRITE,0,OPEN_EXISTING,0,0);

получает хендл текущей стандартной консоли (кстати вполне легальный код).

с названием "СоздатьФайл" как-то не вяжется, не правда-ли?
PM MAIL   Вверх
boostcoder
Дата 20.4.2011, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



bems, 
Цитата

The most commonly used I/O devices are as follows: file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, and pipe.

PM WWW   Вверх
bems
Дата 20.4.2011, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: нет
Всего: 88



Цитата(volatile @  20.4.2011,  00:01 Найти цитируемый пост)
с названием "СоздатьФайл" как-то не вяжется, не правда-ли? 
отлично вяжется. консольный хендл ведет на file object. Как и всякие пайпы и девайсы.
Вы просто не умеете это готовить smile

Добавлено @ 00:24
Может это новость, скажу на всякий случай. Этот хендл можно и читать/писать функциями ReadFile/WriteFile. чтобы программа получившая файловый хендл стандартного вывода (например) не обязана была думать что там - файл на диске, консоль или пайп, созданный другой программой.

Это сообщение отредактировал(а) bems - 20.4.2011, 00:24


--------------------
Обижено школьников: 8
PM MAIL   Вверх
volatile
Дата 20.4.2011, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Цитата(bems @  20.4.2011,  00:15 Найти цитируемый пост)
Вы просто не умеете это готовить 

с чего вы решили что "не умеете"? smile 

еще один пример, из текущего проекта. Изменение даты модификации существующего файла
Код

   HANDLE hfile = CreateFile( filename.c_str(), FILE_WRITE_ATTRIBUTES, FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0 );
   if (hfile != INVALID_HANDLE_VALUE)
      ret = SetFileTime( hfile, &ft, &ft, &ft);

При чём здесь слово Create ?
PM MAIL   Вверх
bems
Дата 20.4.2011, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: нет
Всего: 88



к тому, что создаёт файловый объект. То что ты говоришь смахивает на претензию к оператору new за то что он открывает файл, а не создаёт новый (когда применяется с каким-нить классом "файл", открывающим файл в конструкторе)


--------------------
Обижено школьников: 8
PM MAIL   Вверх
volatile
Дата 20.4.2011, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



bems, Это спор ниочем. Кому-то нравится, кому-то нет...
мне лично пофиг, я уже привык.

PM MAIL   Вверх
bems
Дата 20.4.2011, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: нет
Всего: 88



Нет, это очень предметный спор. Название функи в точности соответствует тому что она делает
CreateMutex
CreateThread
CreateEvent
CreateFile
CreateProcess
CreateFileMapping

Апи очень последователен: есть объект ядра, значит есть функция, где первое слово Create, а дальше - название объекта


--------------------
Обижено школьников: 8
PM MAIL   Вверх
volatile
Дата 20.4.2011, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 16
Всего: 85



Кстати создать файл smile текущей консоли можно и по другому
Код

hconsole = GetStdHandle( STD_OUTPUT_HANDLE )

Как-то без слова Create теперь даже не воспринимается  smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.