日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

const、static、const staic理解

發布時間:2025/4/16 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 const、static、const staic理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


Table of Contents

  • 1 static的理解
  • 2 const 新自定義類型 p; 則p不可變
  • 3 不可重入函數
  • 4 類的static成員變量
  • 5 類的const成員變量
  • 6 類的static const成員變量

1?static的理解

理解

  • 變量被存儲在全局存儲區里,可以下次調用的時候仍舊保持原來的值,這是與堆棧變量的區別。
  • 變量前static告知編譯器,此變量僅在變量的作用范圍內有效,這是與全局變量的區別。
  • 一個選擇題

    關于static變量,請選擇下面所有說法正確的內容:?

  • 若全局變量僅在單個C文件中訪問,則可以將這個變量修改為靜態全局變量,以降低模塊間的耦合度;?
  • 若全局變量僅由單個函數訪問,則可以將這個變量改為該函數的靜態局部變量,以降低模塊間的耦合度;?
  • 設計和使用訪問動態全局變量、靜態全局變量、靜態局部變量的函數時,需要考慮重入問題;?
  • 靜態全局變量過大,可那會導致堆棧溢出。?
  • 答案與分析

    對于A,B:根據本篇概述部分的說明b),我們知道,A,B都是正確的。?
    對于C:根據本篇概述部分的說明a),我們知道,C是正確的(所謂的函數重入問題,下面會詳細闡述)。?
    對于D:靜態變量放在程序的全局數據區,而不是在堆棧中分配,所以不可能導致堆棧溢出,D是錯誤的。?
    因此,答案是A、B、C。?

    2?const 新自定義類型 p; 則p不可變

    #include <iostream> using namespace std; typedef char* pchar; int main() {char str[10] = "abcdef";const char* p1 = str;const pchar p2 = str;p1++;p2++;return 0; }

    上面程序出錯的原因

    const char* p1 = str; 其中p1是可變指針指向不可變的字符串。所以p1++正確。
    typedef char* pchar; 定義了一種新類型,所以 const pchar p2; p2是const類型的,所以p2++出錯。

    3?不可重入函數

    所謂可重入函數就是結果可預測(即只要輸入數據相同,輸出結果就相同)。
    下面的函數就不是可重入函數,因為static的緣故。

    unsigned int sum_int( unsigned int base) { unsigned int index; static unsigned int sum = 0; // 注意,是static類型的。  for (index = 1; index <= base; index++) sum += index; return sum; }

    4?類的static成員變量

    class A { public:static int cnt;A(){cnt++;}static int how_many_instance(){return cnt;} }; int A::cnt = 0; //類的static成員變量必須在類外初始化,并且在加上其類型和類名:: int main() {cout<<A::how_many_instance()<<endl;A a, b, c, d;cout<<A::how_many_instance()<<endl;return 0; }

    5?類的const成員變量

    類的const成員變量只能以初始化列表的形式初始化

    class A { public:const int a;A(){a=0;} }; class A { public:const int a;A():a(10){} };

    上面程序第一個報錯,因為類的const成員變量只能以初始化列表的形式初始化。

    6?類的static const成員變量

    static const變量與static變量初始化方式一樣

    class A { public:static const int a; }; const int A::a = 0;

    static const變量與static變量初始化方式一樣,只是前者在變量名前加上const。

    Author: visaya fan?<visayafan[AT]gmail.com>

    Date: 2011-08-18 21:51:58

    HTML generated by org-mode 6.33x in emacs 23

    轉載于:https://www.cnblogs.com/visayafan/archive/2011/08/18/2145076.html

    總結

    以上是生活随笔為你收集整理的const、static、const staic理解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚洲动漫精品 | 亚洲欧洲久久久 | 狠狠精品干练久久久无码中文字幕 | 中文字幕精品视频在线观看 | 日韩欧美国产亚洲 | 中文字幕第66页 | 日本91网站| 亚洲国产黄 | 在线一级片 | 国产精品国产三级国产专播品爱网 | 日本黄色不卡 | av黄色在线 | 波多在线播放 | 日本一二三区视频 | 丰满人妻一区二区三区53视频 | av在线大全 | 超碰超碰在线 | 99久久精品国产一区二区三区 | 日韩国产成人 | 欧美顶级少妇做爰 | 亚洲av无码一区二区三区网址 | 少妇中文字幕 | 中文字幕免费观看视频 | 精品久久免费视频 | 成人免费版欧美州 | 色呦呦一区二区 | 最新中文字幕在线视频 | 日本黄色高清视频 | 精品综合 | 91一区二区三区在线 | 亚洲一页 | 婷婷色中文网 | 亚洲美女福利 | 成人av免费在线看 | 99色| 中文字幕高清在线播放 | 韩国一区二区在线观看 | 情欲超 | 亚洲第二色 | 色欲一区二区三区精品a片 在线观看黄网站 | 色婷婷av一区二区 | 打美女白嫩屁屁网站 | 五月天亚洲综合 | 国产一级做a爱免费视频 | 九九热精品在线观看 | 大黄一级片 | a级国产毛片 | 韩国成人在线 | 含羞草一区二区三区 | 亚洲精品一区二区潘金莲 | 激情综合网五月天 | 欧美爱爱一区二区 | 成人免费在线视频网站 | 成人免费播放视频 | 精品少妇theporn | 国产黄片一区二区三区 | 亚洲精品视频91 | 亚洲av无码专区在线播放中文 | 欧美老肥婆性猛交视频 | 日韩少妇诱惑 | 麻豆久久精品 | 国产一级做a爰片久久毛片男 | 色呦呦国产| 另类天堂av | 奇米av在线 | 久久伊人精品视频 | 欧美成人综合在线 | 中文字幕av久久爽一区 | 亚州欧美在线 | 亚洲午夜在线 | av青青 | 一级看片免费视频 | 欧美在线视频播放 | 午夜在线影院 | 在线一区二区三区 | 国产三级一区二区 | 免费的三级网站 | jizz内谢中国亚洲jizz | 精品国产aⅴ麻豆 | aa视频网站| 91麻豆国产视频 | 免费成人毛片 | 色图在线观看 | 国产又粗又猛又爽又黄又 | 可以直接在线观看的av | 久久午夜精品视频 | 躁躁躁日日躁 | 欧美老女人视频 | 91精品播放 | 久久精品成人 | 日本天堂在线播放 | jizz中国少妇高潮出水 | 久操欧美 | 亚洲av色区一区二区三区 | av无码精品一区二区三区宅噜噜 | 毛片a片免费观看 | 黄色a级片 | 97视频精品| 亚洲欧美动漫 |