Step 3 (S-11068)

From Stepik Wiki
Revision as of 12:39, 20 March 2017 by Admin (Talk | contribs) (Create page for step id=11068)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/560/step/3

<img width="50%" src="https://ucarecdn.com/7d5f5cc9-c8b3-400a-84de-9a6d6c520038/">

[00:00 - 00:15] теперь поговорим о ключевом слове стать ключевое слово статик c + + имеет 5 различных применений 1 такой применения этой использовании ключевого слова статик при определении глобальных переменных при определении глобальной переменной


[00:15 - 00:33] можно указать ключевое слово стать тогда такая глобальная переменная станет глобальной переменной уровне модуль то есть внутри модуля это примерно будет вести себя как глобально и любой функции можно будет обращаться к этой переменной или изменять попеременно


[00:33 - 00:48] но из другой единице трансляции получить доступ к данной перемены в данной статье применима не получится более того если в другом модуле определить статическую глобальной переменной с таким же именем


<img width="50%" src="https://ucarecdn.com/a9cdf722-4eec-41bb-b1cb-7139e7e602e9/">

[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] и точно также при использовании статический глобальных переменных у нас могут быть побочные эффекты поэтому использование статических глобальных переменных также является плохим стилем и этого следует избегать