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

隨筆 - 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 閱讀(146) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品成人午夜| 亚洲黄色高清| 最新中文字幕亚洲| 韩国自拍一区| 韩国三级电影久久久久久| 伊人男人综合视频网| 亚洲国产高清一区| 日韩一级视频免费观看在线| 宅男在线国产精品| 欧美在线亚洲在线| 欧美高清免费| 99视频精品| 午夜影院日韩| 美女91精品| 欧美视频在线观看 亚洲欧| 欧美午夜精品久久久久免费视| 国产精品va在线播放| 国产一区二区成人久久免费影院| 影音先锋久久| 亚洲午夜久久久| 玖玖在线精品| 一区二区三区四区精品| 久久午夜av| 亚洲香蕉网站| 亚洲精品在线视频观看| 亚洲欧美日韩一区二区| 欧美韩国日本一区| 正在播放亚洲| 毛片精品免费在线观看| 国产精品白丝jk黑袜喷水| 国产一区清纯| 亚洲一二区在线| 久热精品在线| 亚洲一区激情| 欧美区一区二| 亚洲高清一区二区三区| 久久国产一二区| 一区二区成人精品| 欧美丰满少妇xxxbbb| 黑人巨大精品欧美一区二区| 亚洲一区二区精品| 亚洲国产一区二区精品专区| 久久国产主播| 国产欧美一区二区三区视频| 中文av一区二区| 亚洲国产一成人久久精品| 先锋影音久久久| 99精品99| 欧美日韩一级视频| 亚洲精品一品区二品区三品区| 久久久久成人精品免费播放动漫| 亚洲视频在线观看网站| 欧美日韩中文字幕在线视频| 一本色道久久综合亚洲精品高清| 欧美不卡视频| 久久天天躁狠狠躁夜夜av| 国产综合色在线视频区| 久久久91精品国产一区二区三区| 亚洲一区二区三区高清| 国产精品美女主播| 亚洲女性裸体视频| 亚洲欧美国产毛片在线| 国产精品入口福利| 久久福利资源站| 欧美一级大片在线免费观看| 国产欧美日韩不卡免费| 欧美一区二区三区在线视频| 亚洲欧美在线x视频| 国产日韩欧美一区二区三区四区| 欧美一区二区三区四区夜夜大片| 亚洲欧美日韩直播| 国内久久婷婷综合| 欧美激情导航| 欧美三级网址| 久久精品国产免费看久久精品| 久久精品盗摄| 亚洲欧洲日本专区| 99精品免费视频| 国产麻豆一精品一av一免费| 久久精品国产一区二区三| 久久久久国产精品厨房| 亚洲区一区二| 亚洲一区成人| 美女脱光内衣内裤视频久久影院 | 午夜精彩视频在线观看不卡| 亚洲视频播放| 国产在线精品一区二区夜色| 欧美大秀在线观看| 欧美亚洲第一区| 久久久精品免费视频| 欧美成人免费网站| 性久久久久久久久久久久| 久久久久一区| 亚洲婷婷国产精品电影人久久| 亚洲一区二区三区免费在线观看 | 欧美精品导航| 午夜精品一区二区三区在线视| 午夜伦欧美伦电影理论片| 亚洲电影下载| 亚洲天堂激情| 亚洲欧洲在线视频| 午夜亚洲激情| 一本久久a久久免费精品不卡| 午夜久久tv| 亚洲视频国产视频| 老司机免费视频一区二区三区| 亚洲一区二区三区高清不卡| 久久琪琪电影院| 欧美在线免费一级片| 欧美精品一二三| 噜噜噜躁狠狠躁狠狠精品视频| 国产精品va在线播放| 最新热久久免费视频| 精品999在线播放| 亚洲综合欧美日韩| 99精品欧美| 久久午夜精品一区二区| 欧美一区二区三区精品电影| 欧美激情视频一区二区三区免费| 久久三级视频| 国产日韩欧美高清| 在线综合亚洲欧美在线视频| 一本一道久久综合狠狠老精东影业| 久久精品日产第一区二区三区| 欧美一区二区三区在线视频| 欧美三日本三级少妇三2023| 亚洲高清不卡一区| 亚洲国产精品成人| 免费观看一区| 欧美国内亚洲| 亚洲娇小video精品| 老司机一区二区三区| 嫩草伊人久久精品少妇av杨幂| 国产日韩欧美中文在线播放| 亚洲女人av| 久久av免费一区| 国产亚洲精品久久久| 亚洲欧美日韩在线一区| 欧美一区免费视频| 国产亚洲高清视频| 久久精品2019中文字幕| 久热爱精品视频线路一| 欧美激情一区二区在线| 在线观看一区二区精品视频| 久久伊人精品天天| 欧美激情区在线播放| 亚洲日本无吗高清不卡| 欧美日韩国产精品自在自线| 一区二区三区四区五区在线| 欧美亚洲视频在线观看| 亚洲综合国产精品| 久久精品二区| 亚洲国产成人在线| 欧美久久久久免费| 亚洲午夜极品| 久久日韩精品| 亚洲日本黄色| 欧美日韩一区在线播放| 亚洲图片在线观看| 久久久久天天天天| 亚洲另类一区二区| 国产精品videosex极品| 欧美亚洲综合网| 亚洲国产激情| 亚洲一区免费网站| 国产视频欧美视频| 欧美不卡三区| 一本大道久久精品懂色aⅴ| 欧美专区在线观看一区| 亚洲日本在线视频观看| 国产伦精品一区二区三| 欧美成人69av| 久久爱另类一区二区小说| 亚洲精品资源| 久久嫩草精品久久久精品一| 一本大道久久a久久精品综合| 国产亚洲欧美日韩精品| 欧美经典一区二区三区| 久久激情五月丁香伊人| 国产精品99久久久久久久vr| 男男成人高潮片免费网站| 亚洲一区二区三区在线看| 亚洲成在线观看| 国产模特精品视频久久久久| 欧美.com| 久久久国产精品一区| 亚洲天堂偷拍| 亚洲精品美女91| 免费在线国产精品| 欧美一区二区三区免费看| 日韩视频专区| 亚洲日本va在线观看| 好吊视频一区二区三区四区| 国产精品久久久久久超碰| 欧美精品一区三区| 欧美mv日韩mv亚洲| 久久伊人亚洲| 久久久91精品国产| 欧美一区二区三区视频在线观看| 亚洲视频播放|