![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
mes, Да, оно самое! ;) Кроме него больше не видел ни одного пояснения. Но то что приведено, на столько мало. Что невозможно сразу сформировать свое мнение о дружественных. Приходится ждать появления опыта и отказаться до момента его появления )
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
тот же метод, но снаружи класса, что позволяет больше свобод при перегрузке.. Проблема понимания наверняка заключается в том, что еше не осознали прелесть перегрузки... |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Ваша ошибка в понимании дружественных ф-ий, имхо в том что вы считаете что дружественная функция имеет отношение к пользовательскому коду. Дружественая функция - это продолжение класса. Можно считать их теми-же методами, только с другим синтаксисом вызова. Вот и все. |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Вы путатете понятия "интерфейс (библиотеки)" и "пользовательский код" Добавлено через 45 секунд для пользователя все равно, дружественная ли функция, или нет... |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
Судя по всему, собравшиеся mes и volatile предпочли бы такой вариант:
Верно? |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
от лица mes : не совсем или даже совсем не.. |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
Ок, а какой тогда код был бы? Задача маленькая, думаю займет у вас не более 5 мин. ;) |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
для приведенного куска, аддптировано под write/read
Это сообщение отредактировал(а) mes - 23.6.2013, 17:31 |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
mes,
Если не секрет, то почему так? Я видел подобный способ на http://stackoverflow.com/ , но меня он отталкиваем тем что похож на процедурный подход. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
а вы наверное считаете, что запихнув все в классы получите ооп-подход замените read/write на операторы и будет вам счастие А по сути в вашем примере чрезмерная инкапсуляция, которая прячет важные сущности, не принося никакой пользы этим, зато сложностей и зависимостей добавляет кучу Добавлено через 10 минут и 8 секунд и да : крылья...ноги...главное хвост! © |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
mes,
Приведу твой код, тут:
все верно? ;) |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
наполовину...
это использование не по назначению потока (mistreatment).. Такое можно проделывать со своим потоком, в котором Вы уверены.. Но оставлять такое поведение пользователю недопустимо.. Это место требует обязательной разгрузки через сущность.. Добавлено @ 18:56 т.е. сами header`ы у Вас вполне потоко-подходящие, а вот image нет.. Проблема в image в том, что с одной стороны вы пытаетесь сохранить структуру файла, а с другой предоставить ее как набор данных удобных пользователю.. Это две разные задачи и поэтому нежелательна реализация одной сущностью.. Это сообщение отредактировал(а) mes - 23.6.2013, 18:58 |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
Так у меня есть для этого операции первоначальных позиций для потоковых get/put указателей. Или Вы не об этом? Добавлено через 9 минут и 22 секунды Наверное Вы про аналог sentry ? Это сообщение отредактировал(а) EvilsInterrupt - 23.6.2013, 19:17 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |