Hello All.
ðÏÄÓËÁÖÉÔÅ, ÞÁÊÎÉËÕ, ÞÅÍ ÏÔÌÉÞÁÅÔÓÑ ÏÂßÑ×ÌÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ ËÁË static ÏÔ ÐÒÉÓ×ÏÅÎÉÑ ÅÊ ÁÔÒÉÂÕÔÁ volatile. åÓÌÉ ÍÏÖÎÏ ÐÏÐÏÄÒÏÂÎÅÅ..
Boris
... HÁÍÅËÉ ÔÏÎËÉÅ ÎÁ ÔÏ ,ÞÅÇÏ ÎÅ ×ÅÄÁÅÔ ÎÉËÔÏ
Hello All.
Boris
... HÁÍÅËÉ ÔÏÎËÉÅ ÎÁ ÔÏ ,ÞÅÇÏ ÎÅ ×ÅÄÁÅÔ ÎÉËÔÏ
Hello, Boris Belyakov !
static, ÏÂßÑ×ÌÅÎÎÁÑ ×ÎÕÔÒÉ ÆÕÎËÃÉÉ ÏÚÎÁÞÁÅÔ ÓÔÁÔÉÞÅÓËÕÀ ÐÅÒÅÍÅÎÎÕÀ (ÓÏÈÒÁÎÑÀÝÕÀ Ó×ÏÅ ÚÎÁÞÅÎÉÅ ÍÅÖÄÕ ×ÙÚÏ×ÁÍÉ ÆÕÎËÃÉÉ). ïÂßÑ×ÌÅÎÎÁÑ ×ÎÅ ÆÕÎËÃÉÉ ÏÚÎÁÞÁÅÔ ÏÂÌÁÓÔØ ×ÉÄÉÍÏÓÔÉ × ÒÁÍËÁÈ ÔÅËÕÝÅÇÏ ÆÁÊÌÁ (ÏÔÓÕÔÓÔ×ÉÅ ÁÔÒÉÂÕÔÁ public). volatile ÏÚÎÁÞÁÅÔ, ÞÔÏ Ó ÐÅÒÅÍÅÎÎÏÊ ÍÏÖÅÔ ÒÁÂÏÔÁÔØ ËÁËÏÊ-ÔÏ ÄÒÕÇÏÊ ÐÒÏÃÅÓÓ (ÎÁÐÒÍÅÒ ÏÂÒÁÂÏÔÞÉË ÐÒÅÒÙ×ÁÎÉÑ) É ÜÔÏ ÚÎÁÞÉÔ, ÞÔÏ ËÏÍÐÉÌÑÔÏÒ ÍÅÖÄÕ ÏÐÅÒÁÃÉÑÍÉ Ó ÎÅÊ ÎÅ ÄÏÌÖÅÎ ÅÅ ÈÒÁÎÉÔØ ÇÄÅ-ÔÏ ËÒÏÍÅ ÎÅÅ ÓÁÍÏÊ, ÏÔ×ÅÄÅÎÎÏÊ ÄÌÑ ÎÅÅ ÐÁÍÑÔÉ (× ÒÅÇÉÓÔÒÁÈ Ë ÐÒÉÍÅÒÕ).
ó Õ×ÁÖÅÎÉÅÍ, äÉÍÁ ïÒÌÏ×.18 Feb 04 11:07, Boris Belyakov ÐÉÓÁÌ All:
BB> ðÏÄÓËÁÖÉÔÅ, ÞÁÊÎÉËÕ, ÞÅÍ ÏÔÌÉÞÁÅÔÓÑ ÏÂßÑ×ÌÅÎÉÅ ÐÅÒÅÍÅÎÎÏÊ ËÁË static BB> ÏÔ ÐÒÉÓ×ÏÅÎÉÑ ÅÊ ÁÔÒÉÂÕÔÁ volatile. åÓÌÉ ÍÏÖÎÏ ÐÏÐÏÄÒÏÂÎÅÅ..
þÔÅÎÉÅ ÄÏËÕÍÅÎÔÁÃÉÉ ×ÓÌÕÈ - ÐÌÁÔÎÁÑ ÕÓÌÕÇÁ. :) óÁÍ ÞÉÔÁÊ. á ×ÏÏÂÝÅ - ×ÏÐÒÏÓ ÐÏÓÔÁ×ÌÅÎ ÎÅÐÒÁ×ÉÌØÎÏ. üÔÏ ÎÉËÁË ÎÅ Ó×ÑÚÁÎÎÙÅ ÍÅÖÄÕ ÓÏÂÏÊ ×ÅÝÉ. static ÏÐÒÅÄÅÌÑÅÔ ËÌÁÓÓ ÐÁÍÑÔÉ, Á volatile ÚÁÐÒÅÝÁÅÔ ÏÐÔÉÍÉÚÁÔÏÒÕ ÄÅÌÁÔØ ÎÅËÏÔÏÒÙÅ ÏÐÔÉÍÉÚÁÃÉÉ.int var1; static int var2; volatile int var3; static volatile int var4;
÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... þÕÄÏ-ÊÏÇÕÒÔ âÉÏ. þÅÍÐÉÏÎ ÓÒÅÄÉ ËÁËÁÏ.BB> Подскажите, чайнику, чем отличается объявление переменной как static от BB> присвоения ей атрибута volatile. Если можно поподробнее..
static определяет область видимости. Если переменная определена как static на уровне модуля, то ее область видмимости будет ограничена этим модулем. volatile запрещает применение оптимизации к этой переменной. То есть если ты напишешь
int a;
a = 1; a = 2;
То компилятор может посчитать, что первое присвоение не нужно, поскольку второе присваивает той же переменной другое значение.
Если определить как volatile int a;
a = 1; a = 2;
То это запретит такую оптимизацию и компилятор не будет оптимизировать и исключать первое присвоение.
Have something to add? Share your thoughts — no account required.
Ask the community — no account required