Difference between revisions of "Step 3 (S-11068)"
(Create page for step id=11068) |
|||
Line 1: | Line 1: | ||
Step on Stepik: https://stepik.org/lesson/560/step/3 | Step on Stepik: https://stepik.org/lesson/560/step/3 | ||
− | + | [[File:Step_3_(S-11068)_1.png|border|800px]] | |
[00:00 - 00:15] теперь поговорим о ключевом слове стать ключевое слово статик c + + имеет 5 различных применений 1 такой применения этой использовании ключевого слова статик при определении глобальных переменных при определении глобальной переменной | [00:00 - 00:15] теперь поговорим о ключевом слове стать ключевое слово статик c + + имеет 5 различных применений 1 такой применения этой использовании ключевого слова статик при определении глобальных переменных при определении глобальной переменной | ||
Line 12: | Line 12: | ||
− | + | [[File:Step_3_(S-11068)_2.png|border|800px]] | |
[00:48 - 01:04] это ничего не мешает то есть в отличие от глобальных переменных когда на всю программу может быть 1 переменная с таким именем для статически глобальных переменных возможно иметь несколько статистике более переменных в разных модулях с 1 и тем же именем | [00:48 - 01:04] это ничего не мешает то есть в отличие от глобальных переменных когда на всю программу может быть 1 переменная с таким именем для статически глобальных переменных возможно иметь несколько статистике более переменных в разных модулях с 1 и тем же именем |
Latest revision as of 13:05, 7 August 2017
Step on Stepik: https://stepik.org/lesson/560/step/3
[00:00 - 00:15] теперь поговорим о ключевом слове стать ключевое слово статик c + + имеет 5 различных применений 1 такой применения этой использовании ключевого слова статик при определении глобальных переменных при определении глобальной переменной
[00:15 - 00:33] можно указать ключевое слово стать тогда такая глобальная переменная станет глобальной переменной уровне модуль то есть внутри модуля это примерно будет вести себя как глобально и любой функции можно будет обращаться к этой переменной или изменять попеременно
[00:33 - 00:48] но из другой единице трансляции получить доступ к данной перемены в данной статье применима не получится более того если в другом модуле определить статическую глобальной переменной с таким же именем
[00:48 - 01:04] это ничего не мешает то есть в отличие от глобальных переменных когда на всю программу может быть 1 переменная с таким именем для статически глобальных переменных возможно иметь несколько статистике более переменных в разных модулях с 1 и тем же именем
[01:04 - 01:22] по сравнению с обычными глобальными переменными у статических переменных нет проблемы с инициализацией так статической глобальной переменной не может быть завязана на другую статистику глобальную переменную и другому то никакой проблемы с порядком инициализации быть не может
[01:22 - 01:40] однако если мы будем смешивать статический глобальные перемены и обычно глобальной переменной то здесь конечно есть простор для фантазии может получиться например что 1 статическая глобальной переменной не тестируется глобальной переменной есть обычно глобальной переменной определенных другом и тогда
[01:40 - 01:56] тут есть проблема с порядком инициализации но если у нас есть только статический глобальной переменной то проблемы с порядке иногда однако ставятся проблемы связаны с масштабируемостью то есть например если мы попытаемся сделать домашку по точным то
[01:56 - 02:11] статический глобальной переменной не будет ни в чем уступать обычно глобальным переменам при обращении к переменам у нас также потенциально год как коллизиям то есть несколько потоков могут обращаться к ним одновременно
[02:11 - 02:27] и точно также при использовании статический глобальных переменных у нас могут быть побочные эффекты поэтому использование статических глобальных переменных также является плохим стилем и этого следует избегать