powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / С++17: inline переменные
2 сообщений из 2, страница 1 из 1
С++17: inline переменные
    #39734445
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем счастье от их использования?
В том, что переменные в заголовочных h/hpp фалов можно размещать без упаковки в статические методы в виде статических переменных? Или в чем?
Поясните, пожалуйста.
...
Рейтинг: 0 / 0
С++17: inline переменные
    #39734523
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фэйтл Эра,

Да. Теперь header-only библиотеки с глобальным состоянием писать проще.

Раньше приходилось извращаться с помощью локальных статических переменных, которые имеют оверхед из-за многопоточности.

Ну или такой изврат:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
template <typename Dummy>
struct TestImpl
{
    static std::string var;
};

template <typename Dummy>
std::string TestImpl<Dummy>::var = "test";

using Test = TestImpl<void>;

int main()
{
    cout << Test::var << endl;
    return 0;
}



А теперь то же самое можно записать проще:
Код: plaintext
1.
2.
3.
4.
struct Test
{
    static inline std::string var = "test";
};



Т.е. это синтаксический сахар позволяющий просто декларативно сказать что нужно, вместо того чтобы каждый раз кодировать это.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / С++17: inline переменные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]