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

При вынесении определения всегда ли нужно указывать функцию как inline явно? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Область видимости анонимного объекта при вызове функции http://www.cyberforum.ru/cpp-beginners/thread1231879.html
Доброго дня. Хотел поинтересоваться: когда уничтожится анонимный объект, переданный как параметр функции? #include <stdio.h> #include <string> using namespace std; class Obj{ private: ...
C++ STL Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по убыванию и вывести Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по убыванию и вывести в выходной поток. Добавлено через 20 минут пример, но он с ошибками #include <vector>... http://www.cyberforum.ru/cpp-beginners/thread1231849.html
C++ STL Заполнить строку латинским алфавитом и вывести ее в выходной поток
Заполнить строку латинским алфавитом и вывести ее в выходной поток. С++ Добавлено через 20 минут вот пример выполнения, но в нем ошибки #include <string> #include <iostream> using namespace...
STL Заполнить двухмерный вектор таблицей умножения и вывести его в выходной поток C++
Заполнить двухмерный вектор таблицей умножения и вывести его в выходной поток. Добавлено через 19 минут пример, но в нем ошибки #include <vector> #include <iostream> #include <iomanip> using...
C++ STL Заполнить вектор длинной 10 случайными числами от 0 до 9 и вывести его в выходной поток http://www.cyberforum.ru/cpp-beginners/thread1231846.html
Заполнить вектор длинной 10 случайными числами от 0 до 9 и вывести его в выходной поток.
C++ Используя STL контейнер set заполнить массив Задание 2. Данную задачу решить не используя метод sort, а используя STL контейнер: set. Заполнить массив размером 10 случайными числами от 0 до 10, отсортировать его по возрастанию и вывести в... подробнее

Показать сообщение отдельно
DrOffset
7313 / 4413 / 999
Регистрация: 30.01.2014
Сообщений: 7,246
22.07.2014, 18:23
Цитата Сообщение от TierX Посмотреть сообщение
Следовательно явно inline в срр файле обьявлять нельзя.
Можно. Зависит от предполагаемого использования.
Вот например, есть класс А:
C++
1
2
3
4
5
6
7
8
class A
{
public:
    void bar(); 
 
private:
    void foo();
};
Метод bar часть интерфейса класса, предполагается для вызова пользователями класса. Метод foo вспомогательный и вызывается внутри bar. Мы можем написать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include .....
 
inline void A::foo()
{
// some work
}
 
void A::bar()
{
// some work
    foo();
// some work
}
Даем рекомендацию компилятору, что метод foo может быть встроен, но происходить это будет только в рамках данного cpp. Это в принципе может дать определенный профит в некоторых ситуациях.
Цитата Сообщение от TierX Посмотреть сообщение
Чото много както мутной жижи с этим всем.
Ну большинство (большинство) даже самых диких, на первый взгляд, особенностей языка на самом деле довольно логичны. Особенно, если знать историю.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru