если мы создаем статичную ПЕРЕМЕННУЮ внутри класса
то она доступна (едина) всем образцам (протатипам) класса
и изменение в одном обрзаце этой переменной - затронит и все остальные.
а что касается статичной функции внутри класса, как такое обявление затронит работу нескольких образцов?
переменные (не статичные) внутри статичной функции будут ли едины для всех образцов класса
============
ЗЫ
хочу внутри своего класса создать поток
для этого нужна статичная (конкретно локализованная в памяти) переменная управления потоком
и у меня будет 2а экземпляра класса, хочу знать какая область памяти будет общей...
спасибо :)
Другие языки программирования и технологии
Статичная функция внутри класса. какие данные будут доступны всем образцам класса?
Полагаю, речь идет о С++?
> если мы создаем статичную ПЕРЕМЕННУЮ внутри класса
то она доступна (едина) всем образцам (протатипам) класса
и изменение в одном обрзаце этой переменной - затронит и все остальные.
Какая-то странная терминология. Обычно говорят "класс", "поля", "данные класса", "методы" или "функции-члены", "экземпляры класса" или просто "объекты класса".
Да, если объявить поле статическим, то оно будет общим для всех экземпляров класса и в памяти будет единственным.
> а что касается статичной функции внутри класса, как такое обявление затронит работу нескольких образцов?
Ну если поведение объектов меняется при изменении статичных полей, то как-то затронет. Из статичного метода нет доступа к полям класса, если они не статичные. Причем статичные метод можно вызвать даже не имея ни одного созданного экземпляра класса:
MyClass::my_static_method();
> переменные (не статичные) внутри статичной функции будут ли едины для всех образцов класса
Нет. С чего бы это вдруг им быть едиными?
> если мы создаем статичную ПЕРЕМЕННУЮ внутри класса
то она доступна (едина) всем образцам (протатипам) класса
и изменение в одном обрзаце этой переменной - затронит и все остальные.
Какая-то странная терминология. Обычно говорят "класс", "поля", "данные класса", "методы" или "функции-члены", "экземпляры класса" или просто "объекты класса".
Да, если объявить поле статическим, то оно будет общим для всех экземпляров класса и в памяти будет единственным.
> а что касается статичной функции внутри класса, как такое обявление затронит работу нескольких образцов?
Ну если поведение объектов меняется при изменении статичных полей, то как-то затронет. Из статичного метода нет доступа к полям класса, если они не статичные. Причем статичные метод можно вызвать даже не имея ни одного созданного экземпляра класса:
MyClass::my_static_method();
> переменные (не статичные) внутри статичной функции будут ли едины для всех образцов класса
Нет. С чего бы это вдруг им быть едиными?
Странный вопрос. Вообще такие вещи могут зависеть от языка программирования, но на тех, которые знаю я:
1. Статическая переменная хранится в единственном экземпляре, то есть изменение этой переменной в одном объекте приведет к изменению в другом. (По факту все объекты содержат просто ссылку на одну переменную) .
2. А что будет со статической функцией? Просто ее можно будет использовать не создавая экземпляр класса. например в Java функция main - static.
Ты не сможешь из внешнего объекта обратиться к переменной функции. Как правило переменная объявленная внутри блока кода (в нашем случае функции) уничтожается по выходу из функции.
Статическое поле будет общим для двух экземпляров.
1. Статическая переменная хранится в единственном экземпляре, то есть изменение этой переменной в одном объекте приведет к изменению в другом. (По факту все объекты содержат просто ссылку на одну переменную) .
2. А что будет со статической функцией? Просто ее можно будет использовать не создавая экземпляр класса. например в Java функция main - static.
Ты не сможешь из внешнего объекта обратиться к переменной функции. Как правило переменная объявленная внутри блока кода (в нашем случае функции) уничтожается по выходу из функции.
Статическое поле будет общим для двух экземпляров.
Похожие вопросы
- Зачем выносить определение тел функций-членов класса в отдельный *.сpp файл?
- Функции и классы в С++
- Вопрос по дробления программы на файлы и классам. На данных условиях, как будет выглядеть структуризация?
- Нужны ли для программирования 10 и 11 класс? я уже в 9 классе уйти ли мне с 9 класса или остаться и учить 10-11 классы?
- Почему лучше идти на програмиста после 11 класса в универ? и почему после 9 класса прогрмисты не нужны?
- Ошибка компоновки inline функции класса С++
- Вопрос для тех кто знает точный ответ, язык C про функции все подробности вопроса внутри...
- Как вы называете файлы / модули / классы, которые читают / сохраняют данные на диск?
- Возможно ли выполнить действие 1 раз внутри функции, вызываемой в бесконечном цикле, с помощью её аргумента?
- Насколько ли актуально сейчас создавать статичные html сайты?
> неграмотный я, самоучка)
Пожалуйста посоветуйте литературу из разряда
"Каждый программист C++ обязан прочитать от начала до конца"
ам ну и за одно пару советов - какие методы изучения английского языка самые эффективыне? из вашего опыта.