==【注意】== 程式語言隻是我們與計算機交流并讓計算機實作我們創造性思想的工具,可以并鼓勵深入掌握一門語言,但千萬别沉迷于鑽某種語言的牛角尖,一定要把握好二者間的度
本帖屬不定時連載貼,以試卷的形式提出一個比較基礎的問題供大家思考讨論,問題的解析将在下一更新貼中一并給出,這樣做是希望還不清楚問題的朋友有自己思考和讨論的時間,希望大家能從這些文章中有所收獲。
貼中問題屬我在學習C\C++過程中遇到的一些文法或者比較隐晦的程式問題,其中有自己的總結,也不乏網絡上搜尋到的經典解析,在此分享給大家,希望能起到抛磚引玉的作用
【No.4 變量作用域】
由于連載形式,每帖第二部分都配有上一問題的解答。為了保持文章的針對性和一緻性,
[問題No.4]
請寫出以下代碼的執行結果
複制内容到剪貼闆
<code>#include<iostream> using namespace std; int val = 0; void PrintVal(void) { cout<<val<<endl; } int main(int argc, char **argv) { int val = 0; val = 1; PrintVal(); cout<<val<<endl; ::val = 2; PrintVal(); return EXIT_SUCCESS; }</code>
變量 cpstr 的類型為指向普通string對象的const指針
也即 string *const cpstr
①cpstr是一個類型為 pstr 的常量
②pstr 是什麼?
③pstr 是 string*
④是以,cstr是一個類型為 string* 的常量,也即 string *const cpstr
關鍵在于将 pstr 看成一個整體,而不是把他拆開為 " string * "
本文轉自Bill_Hoo 51CTO部落格,原文連結:http://blog.51cto.com/billhoo/733258,如需轉載請自行聯系原作者