PDA

View Full Version : سوال: علامت :: نشانه چیست



mortezamsp
شنبه 10 بهمن 1388, 21:36 عصر
با سلام.
معنی این کد چیست ؟

if ( color[i]==::color[i] )
علامت :: برای چیست ؟ ( آرایه color بصورت local تعریف شده ) .

amin1softco
شنبه 10 بهمن 1388, 22:47 عصر
فکر کنم خودت جواب خودت رو دادی وقتی آرایه بوسیله لوکال مخفی شده با این علامت میشه بهش دستیابی پیدا کرد.
در غیر اینصورت حکم تفکیک حوزه رو داره

فرض کنیم ما در بلوک اصلی یک آرایه به نام color داریم و دریک تابع دیگر یک آرایه با همین نام داریم color و می خواهیم در تابع مقایسه ایی با color اصلی داشته باشیم در اینجا از علامت :: استفاده می کنیم.
البته فکر کنم همینطور باشه!!!!!!!!
http://msdn.microsoft.com/en-us/library/b451xz31(VS.80).aspx (http://msdn.microsoft.com/en-us/library/b451xz31%28VS.80%29.aspx)

clover
شنبه 10 بهمن 1388, 23:21 عصر
این عملگر با نام scope access (دستیابی به حوزه) همونطور که از اسمش پیداست برای دسترسی به حوزه مورد نظر استفاده میشه.
به این شکلی که شما نوشتید (color::) یعنی آرایه ی color که در یک بلاک عقب تر تعریف شده.
حالا یک بلاک عقب تر در یک تابع یعنی محدوده فایل ( یک آرایه سراسری به نام color) و برای بلاک های تو در تو هم که معناش مشخصه .