青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 55  文章 - 15  trackbacks - 0
<2012年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用鏈接

留言簿

隨筆分類

隨筆檔案

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

Static:靜態存儲,內部鏈接。
1.函數內部的靜態變量
內部類型:在定義的時候初始化,如果未初始化,編譯器將其設置為0.
自定義類型:在定義的時候調用構造函數,如未傳遞參數,調用默認構造函數。包含局部對象的函數如果未被調用,則該局部對象不會構造,也不會析構。
void f()
{
 static Obj b('b');
}
void g()
{
 Obj c('c');
}
int main()
{
return 0;
}// no constructor both c and b

內部鏈接的好處是,可以將這個名字放在頭文件中而不用擔心鏈接時發生沖突。(鏈接時發現多個同一名字的定義會報錯,不知道該鏈接哪一個了)。通常將變量、內聯函數放在頭文件中,因為這些默認是內聯的。鏈接只引用那些在鏈接/裝載期間有地址的成員,因此類聲明和局部變量并不鏈接。

2.全局變量
static int a = 0;//definition, internal linkage, static storage area

extern int b = 0;//definition,external linkage, static storage area
3。局部變量:
static只改變變量的存儲類型。而extern只是用作聲明,表示某處已經存在一個存儲區。
4。函數名:
只改變可見性,static 僅該翻譯單元可見,extern(默認)外部可見。

名字空間解決沖突
1)只能在全局范圍內定義,可以相互嵌套
2)定義結尾處不需要有分號
3)可以在多個頭文件中用一個標識符
4)可以用另一個名字空間做別名
namespace longName
{
  int i = 0;
}

namespace LN = longName;
5)不能創建實例
每個翻譯單元只能有一個未命名的名字空間,默認為內部鏈接。
namespace{
class A{};
class B{};
int i, j , k;
}
可以在一個名字空間的類定義之內插入一個友元聲明,該友元自動成為該名字空間的一員。
namespace Me
{
  class Us{
  friend void you();// you is member of namespace Me
  };
}
使用名字空間
using 聲明
namespace  U
{
  inline void f(){}
  inline void g(){}
}

namespae V
{
  inline void f(){}
  inline void g(){}
  inline void g(int){}
  inline char g(char){return 'a';}
}

void h()
{
  using namespace U;
  using V::g;//沒有類型方面的信息,聲明了這個空間中的所有重載函數
  g();
  g(1);
  g('b');
  U::g();
}
不要在頭文件中使用using namespace ...會污染所有包含該頭文件的編譯單元。

C++中的靜態成員
所有的類公用一塊內存區域,可以進行類內部通信。如果一個靜態數據成員被聲明但是未被定義,連接器會報一個錯誤。
定義必須出現在類的外部,且只能定義一次,通常放在類的實現文件中。
//.h file
class A
{
  static int i ;
public:
  //
};
//.cpp file
int A::i = 1;

這些都是類創建者應該做的,所以,客戶程序員不需要再定義一次了。
靜態數組的初始化
在類外初始化
class Value{
  static const int scSize = 100;//非常特殊,內部類型可以這樣定義,也可以在類外定義。
  static const float scFloat;
  static const int scInts[];
};
const int Value::scFloat = 1.0f;
const int Value::scInts[]={2,23,4};
自定義類型: 必須在類外初始化
class Stat
{
  static X x1;
  static X xTable[];
  static const X x2;
  static const X xTable2[];
 };

X Stat::x1(100);
X Stat::xTable[] = { X(1), X(2), X(3)};
const X Stat::x2(200);
const X Stat::xTable2 = {X(2), X(4), X(10) };


局部類中不能有static 數據成員。

靜態成員函數:沒有隱含的this指針,所以不能調用非靜態成員函數。

靜態初始化的相依性:一個對象的初始化必須需要另一個對象先初始化,如果初始化順序不對,則造成錯誤。解決方法:利用函數
1.頭文件中聲明一個函數,且不能為內聯。
2.實現文件中定義一個靜態對象,并返回引用。
//Dependency1StatFunc.h
#include "Dependency1.h"
extern Dependency1& d1();

//Dependency2StatFunc.h
#include "Dependency2.h"
extern Dependency2& d2();

//Dependency1StatFunc.cpp
#include "Denpendency1StatFunc.h"
Dependency1& d1()
{
  static Deppendency1 dep1;
  return dep1;
}

//Dependency2StatFunc.cpp 靜態對象一般放在單獨的文件中定義,但要在頭文件中聲明。
#include "Denpendency1StatFunc.h"
#include "Denpendency2StatFunc.h"
Dependency2& d2()
{
  static Deppendency2 dep2(d1());//調用d1()的時候dep1已經初始化了
  return dep2;
}


使用c類型的函數
extern "c" float f(int a);
extern "c"{
#include "Myheader.h"
}
extern "c"
{
float f();
double d();
}






























posted on 2012-05-31 14:30 Dino-Tech 閱讀(152) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美伊人| 美女主播一区| 亚洲夜间福利| 国产精品亚洲成人| 欧美一区三区二区在线观看| av成人免费在线| 国产精品午夜视频| 久久久www成人免费毛片麻豆| 欧美有码视频| 在线观看中文字幕不卡| 亚洲大片av| 欧美特黄一级| 久久精品国产久精国产思思| 葵司免费一区二区三区四区五区| 亚洲人体1000| 亚洲一区二区黄色| 在线看国产一区| 亚洲免费观看高清完整版在线观看熊 | 午夜精品av| 在线观看视频日韩| 亚洲毛片网站| 国产一区二区三区的电影| 欧美国产精品v| 国产精品久久夜| 欧美成人一区二区三区| 欧美日韩在线一区二区| 久久久xxx| 欧美日韩三级| 女人天堂亚洲aⅴ在线观看| 欧美日韩第一页| 久久免费观看视频| 欧美视频官网| 欧美 日韩 国产在线| 国产精品video| 欧美激情一区二区久久久| 国产精品久久国产精麻豆99网站| 久久综合色88| 国产九区一区在线| 亚洲人成欧美中文字幕| 国产欧美亚洲日本| 亚洲免费高清| 最新精品在线| 久久精品国产91精品亚洲| 亚洲性视频网站| 欧美成人一品| 欧美成人黑人xx视频免费观看| 欧美午夜a级限制福利片| 久久亚洲二区| 欧美特黄一级| 亚洲三级电影在线观看| 在线 亚洲欧美在线综合一区| 亚洲一区二区三区免费观看| 亚洲毛片视频| 欧美激情按摩| 你懂的视频欧美| 国产亚洲精久久久久久| 亚洲尤物视频网| 在线中文字幕日韩| 欧美freesex8一10精品| 久久综合给合| 国产在线拍偷自揄拍精品| 亚洲综合成人婷婷小说| 亚洲欧美成人综合| 欧美日韩一区精品| 亚洲靠逼com| 亚洲视频欧美视频| 欧美午夜美女看片| 一本大道久久a久久综合婷婷| 日韩午夜激情电影| 欧美日韩国产不卡在线看| 亚洲人成7777| 亚洲视频在线播放| 国产精品v亚洲精品v日韩精品| 夜夜嗨av一区二区三区中文字幕| 宅男噜噜噜66一区二区66| 欧美日韩一区视频| 亚洲欧美日韩另类| 久久国产精品色婷婷| 国产一区美女| 麻豆成人在线| 亚洲精品国产无天堂网2021| 中文av一区特黄| 国产精品婷婷午夜在线观看| 羞羞视频在线观看欧美| 久久综合狠狠综合久久综合88| 狠狠色噜噜狠狠色综合久| 久久天天躁夜夜躁狠狠躁2022 | 亚洲欧美日韩国产综合| 国产精品视频你懂的| 午夜免费电影一区在线观看| 另类酷文…触手系列精品集v1小说| 一色屋精品亚洲香蕉网站| 欧美jjzz| 午夜在线播放视频欧美| 欧美va亚洲va国产综合| 亚洲天堂av电影| 黑丝一区二区| 欧美日本簧片| 久久精品理论片| 亚洲精品中文字幕在线| 久久久久se| 妖精成人www高清在线观看| 国产精品日日做人人爱| 榴莲视频成人在线观看| 亚洲图片在线| 欧美二区在线看| 欧美一区二区三区四区高清| 亚洲高清视频在线观看| 国产精品激情av在线播放| 久久亚洲国产精品一区二区| 一区二区高清视频| 免费视频一区| 欧美一区二区在线| 一级成人国产| 亚洲第一黄色| 国产三区精品| 欧美手机在线视频| 毛片一区二区| 久久成人免费日本黄色| 一本不卡影院| 亚洲精品视频在线| 免费观看欧美在线视频的网站| 亚洲小说欧美另类婷婷| 亚洲日本国产| 亚洲国产99| 伊人色综合久久天天| 国产日韩欧美二区| 国产精品wwwwww| 欧美日韩国产精品成人| 欧美成人精品在线播放| 久久美女性网| 久久精品国产亚洲精品| 新片速递亚洲合集欧美合集| 一区二区三区久久久| 亚洲激情影院| 91久久精品日日躁夜夜躁欧美| 免费在线日韩av| 久久免费国产精品| 久久综合久久久| 久久亚洲电影| 免费久久精品视频| 久久综合影音| 欧美成人免费播放| 欧美激情欧美狂野欧美精品| 久热这里只精品99re8久| 久久精品一区蜜桃臀影院| 欧美在线一级va免费观看| 欧美一区二视频| 久久久精品国产免大香伊 | 在线观看日韩国产| 激情婷婷亚洲| 亚洲高清在线观看一区| 亚洲国产精品成人一区二区| 亚洲欧洲一级| 中文在线一区| 欧美一区=区| 久久人人九九| 亚洲高清视频的网址| 亚洲精品一区二区网址| 一本久久知道综合久久| 亚洲免费在线看| 久久久久国产精品麻豆ai换脸| 久久综合网hezyo| 欧美精品入口| 国产精品日日做人人爱 | 美日韩精品免费| 欧美国产第一页| 欧美私人网站| 国产日韩欧美一区在线 | 欧美成人午夜影院| 欧美午夜大胆人体| 国产日韩在线亚洲字幕中文| 亚洲国产欧美久久| 亚洲伊人色欲综合网| 久久久久国产精品午夜一区| 欧美成年人在线观看| 一本色道久久99精品综合| 久久国产88| 欧美日韩一区二区视频在线观看| 国产免费亚洲高清| 亚洲精品欧洲精品| 性欧美暴力猛交69hd| 欧美福利在线观看| 亚洲一级影院| 欧美肥婆bbw| 国产综合在线视频| 一个色综合导航| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲免费不卡| 玖玖视频精品| 国产在线精品成人一区二区三区| 99视频+国产日韩欧美| 久久裸体视频| 亚洲一区欧美| 欧美日韩国产首页在线观看| 影院欧美亚洲| 久久精品亚洲一区| 亚洲色图自拍| 欧美精品久久久久久久| 一区二区三区在线看|