Что происходит со статическими переменными во встроенных функциях?C++

Программы на C++. Форум разработчиков
Anonymous
Что происходит со статическими переменными во встроенных функциях?

Сообщение Anonymous »


У меня есть функция, которая объявлена ​​и определена в заголовочном файле. Это проблема сама по себе. Если эта функция не встроена, каждая единица перевода, использующая этот заголовок, получает копию функции, а когда они связаны друг с другом, они дублируются.

Я «исправил» это, сделав функцию встроенной, но боюсь, что это хрупкое решение, потому что, насколько мне известно, компилятор не гарантирует встраивание, даже когда вы указываете ключевое слово inline. Если это не так, поправьте меня.

И вообще, что происходит со статическими переменными внутри этой функции? Сколько копий я получу?

Вернуться в «C++»