Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Информационный Канал Subscribe.Ru


RusFAQ.ru: Программирование на C / C++

Выпуск № 472
от 13.03.2004, 23:00

Администратор:
Имя: Nick.Box
URL: Информационный ресурс
ICQ: 365124
[censored], [censored]
О рассылке:
Задано вопросов: 1497
Отправлено ответов: 3052
Активность: 203.8 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

mr2dark
Статус: Начальный
Общий рейтинг: 104.23
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.76
[Подробней >>]
lipa75
Статус: Доверительный
Общий рейтинг: 105.45
[Подробней >>]
 
Bobs
Статус: Профессиональный
Общий рейтинг: 111.01
URL: http://www.hosthost.biz/
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 1488. Здравствуйте. Хочу спросить Вас по поводу ипользования в С++ в классах inline-функций. Можно ли исп-... (ответов: 2)
Вопрос № 1490. Доброго времени суток. Какие функции лучше делать методами класса, а какие friend. (например операто... (ответов: 2)
Вопрос № 1491. Здравствуйте. Если не подключен файл conio.h, то подключить его: // у меня так не работает, хотя мой... (ответов: 1)

Вопросов: 3, ответов: 5


 Вопрос № 1488

Здравствуйте.
Хочу спросить Вас по поводу ипользования в С++ в классах inline-функций. Можно ли исп-ть inline в любом методе класса, а если можно не во всех методах, то в каких?
У меня компилятор BorlandC++5.02 - он пишет при определении некоторых inline-функций, что их нельзя использовать(например если в функцию поместить усл.оператор или цикл).



Вопрос отправлен: 10.03.2004, 18:10
Отправитель: Hummer

[Следующий вопрос >>] [Список вопросов]

Отвечает mr2dark

Здравствуйте, Hummer!
Ключевое слово inline компилятор расценивает как предложение или пожелание. Он сам решает какие функции (не только методы классов) он может сделать inline. В действительности, далеко не все функции в принципе могут быть inline.
Например, не могут быть inline:
- виртуально вызываемые виртуальные функции (методы);
- рекурсивные функции;
- функции, к которым обращаются через указатель,
и т.д.
В принципе иногда компилятор может сделать две реализации функции: где сможет - inline, где нет - обычную.
Можно вместо использовать макросы, но у них есть серьезные ограничения.
Попробуйте Visual C++ 6.0, возможно у него получится.

Ответ отправлен: 10.03.2004, 18:48
Отправитель: mr2dark


Отвечает vitya

Приветствую Вас, Hummer!
это от компилятора.
Хороший компилятор разрешает все делать inline - ми, просто некоторые потом он оставит, как функции. За дальнейшим есть статья na www.cuj.com

Ответ отправлен: 11.03.2004, 09:41
Отправитель: vitya


 Вопрос № 1490

Доброго времени суток.
Какие функции лучше делать методами класса, а какие friend.
(например операторы: >>,<<,[],=,==,+,+= и т.д.)
Спасибо.



Вопрос отправлен: 10.03.2004, 18:20
Отправитель: Хром

[Следующий вопрос >>] [Список вопросов]

Отвечает lipa75

Здравствуйте, Хром!
Методами класса лучше делать функции, характерные конкретно для этого класса, а общие для нескольких классов, универсальные - friend, а еще лучше - выделить их в отдельный класс.

Ответ отправлен: 10.03.2004, 19:33
Отправитель: lipa75


Отвечает vitya

Приветствую Вас, Хром!
операторы op=, [] всегда члены
операторы new, delete всегда статические члены
операторы + - / и т.д обычно друзья
>> << для потоков тоже друзья, для перегрузки другими типами смотря как получится.

Ответ отправлен: 11.03.2004, 09:39
Отправитель: vitya


 Вопрос № 1491

Здравствуйте.
Если не подключен файл conio.h, то подключить его:
// у меня так не работает, хотя мой препод говорит, что должно раб-ть:
#ifndef CONIO_H
#define CONIO_H
#endif
// так ОК:
#ifndef CONIO_H
#include
#endif
Как все-таки правильно?



Вопрос отправлен: 10.03.2004, 18:25
Отправитель: ЗОЖ

[Следующий вопрос >>] [Список вопросов]

Отвечает Bobs

Приветствую Вас, ЗОЖ!
Наиболее распространённый вариант в приложении.

Приложение:

Ответ отправлен: 10.03.2004, 20:25
Отправитель: Bobs



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (30)
C / C++ (22)
Perl (4)
Builder / Delphi (20)
Pascal (22)
Basic / VBA (9)
Java / JavaScript (7)
PHP (14)
Криптография (7)
WinAPI (16)
Радиоэлектроника (11)
Пользователю
Windows 95/98/Me (41)
Windows NT/2000/XP (59)
"Железо" (36)
Поиск информации (20)
Администратору
Windows NT/2000/XP (28)
Linux / Unix (12)
Юристу
Гражданское право (14)
Семейное право (12)
Трудовое право (12)
КоАП (10)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное