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

隨筆 - 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>
            欧美激情第一页xxx| 久久精品国产成人| 亚洲国产婷婷综合在线精品| 欧美一区二区三区在线视频| 国产精品久久久久毛片大屁完整版| 日韩一区二区电影网| 亚洲激情影院| 欧美日本一区二区三区 | 欧美h视频在线| 亚洲日本欧美| 亚洲精品影视| 欧美日韩亚洲国产一区| 亚洲永久在线观看| 亚洲男女自偷自拍图片另类| 国产精品爽爽ⅴa在线观看| 久久成人国产| 美女视频黄a大片欧美| 日韩亚洲视频| 亚洲欧美一区二区在线观看| 国内揄拍国内精品久久| 欧美高清不卡| 欧美性猛交xxxx乱大交蜜桃| 久久久99国产精品免费| 欧美77777| 午夜精品视频| 男女视频一区二区| 亚洲欧美另类在线| 久久久精品性| 亚洲图片欧洲图片日韩av| 亚洲欧美日韩视频二区| 亚洲激情影视| 亚洲一区精品电影| 亚洲高清三级视频| 亚洲色图制服丝袜| 亚洲第一黄色网| 亚洲网站啪啪| 亚洲欧洲另类国产综合| 亚洲永久网站| 亚洲美女精品成人在线视频| 午夜久久久久久久久久一区二区| 亚洲日本免费| 久久精品盗摄| 亚洲欧美日韩一区二区| 欧美大色视频| 久久婷婷久久| 国产精品每日更新在线播放网址| 欧美激情1区2区| 国产欧美一区二区精品性色| 亚洲区一区二| 亚洲电影毛片| 亚洲欧美在线磁力| 亚洲视频在线免费观看| 免费一区二区三区| 久久先锋影音| 国产日韩精品一区二区浪潮av| 亚洲国产导航| 亚洲国产精品第一区二区三区| 亚洲综合欧美| 亚洲欧美国产不卡| 欧美日韩亚洲一区二区| 欧美韩日一区| 1000部精品久久久久久久久| 欧美在线播放| 久久黄色级2电影| 国产精品乱码| 亚洲视频免费观看| 亚洲午夜精品福利| 欧美手机在线视频| 99re66热这里只有精品3直播| 亚洲精品少妇网址| 美女诱惑一区| 欧美激情第六页| 亚洲人精品午夜在线观看| 久热精品视频在线观看一区| 欧美凹凸一区二区三区视频| 激情综合色综合久久| 久久精品国产亚洲aⅴ| 久久这里只有精品视频首页| 国产一区二区三区黄视频| 久久riav二区三区| 卡一卡二国产精品| 亚洲国产精品va在线看黑人| 欧美大片在线观看一区| 亚洲人成人一区二区三区| 99精品国产高清一区二区| 欧美日韩国产三级| 亚洲素人在线| 久久精品欧美| 亚洲成色999久久网站| 欧美激情精品久久久久久免费印度| 欧美国产高潮xxxx1819| 日韩视频在线你懂得| 国产精品进线69影院| 羞羞视频在线观看欧美| 久久影院午夜片一区| 亚洲精品国产精品国自产观看| 欧美激情一区二区三区成人| 一本大道av伊人久久综合| 欧美亚洲一区二区在线观看| 黄色日韩精品| 欧美精品日韩综合在线| 亚洲免费伊人电影在线观看av| 久久久久久久久久久一区 | 欧美成人国产va精品日本一级| 亚洲人体影院| 欧美在线资源| 亚洲日本成人| 国产美女精品免费电影| 美女露胸一区二区三区| 亚洲一区二区动漫| 欧美.www| 午夜免费久久久久| 亚洲国产黄色| 国产麻豆日韩| 欧美精品一区二区三区高清aⅴ| 亚洲一区二区三区影院| 欧美激情第9页| 久久丁香综合五月国产三级网站| 亚洲精品乱码久久久久久久久| 国产精品综合网站| 欧美日韩精品在线播放| 久久视频免费观看| 亚洲欧美成aⅴ人在线观看| 亚洲韩国日本中文字幕| 久久在线免费视频| 欧美一级大片在线观看| 91久久在线观看| 激情久久影院| 国产乱人伦精品一区二区| 欧美精品国产精品日韩精品| 久久精品亚洲一区二区| 亚洲女同性videos| 艳妇臀荡乳欲伦亚洲一区| 欧美丰满少妇xxxbbb| 久久av一区二区三区亚洲| 亚洲视频国产视频| 亚洲精品永久免费精品| 亚洲国产精品视频一区| 狠狠做深爱婷婷久久综合一区 | 久久影院午夜论| 午夜在线一区二区| 亚洲一区二区视频| 在线亚洲自拍| 一区二区三区www| 亚洲欧洲一区二区三区| 亚洲第一精品福利| 亚洲第一区在线观看| 欧美激情精品久久久久久蜜臀| 老司机久久99久久精品播放免费 | 亚洲美女在线看| 亚洲久色影视| 亚洲免费av片| 一本久道综合久久精品| 9i看片成人免费高清| 一区二区精品国产| 中文日韩在线| 亚洲欧美日韩天堂一区二区| 亚洲一卡久久| 亚久久调教视频| 欧美在线网站| 久久这里有精品15一区二区三区| 欧美~级网站不卡| 欧美国产免费| 亚洲日本中文字幕| 一区二区三区四区五区视频| 亚洲特级片在线| 亚洲欧美另类中文字幕| 欧美综合第一页| 久久免费少妇高潮久久精品99| 美国十次成人| 欧美日韩色婷婷| 国产区精品在线观看| 激情一区二区| 亚洲另类自拍| 欧美一区二区三区视频在线| 久久夜色精品| 亚洲国产欧洲综合997久久| 一本色道久久综合亚洲精品婷婷 | 午夜视频一区在线观看| 久久婷婷蜜乳一本欲蜜臀| 欧美国产在线电影| 国产美女精品免费电影| 在线欧美日韩精品| 亚洲网站在线| 久久一日本道色综合久久| 亚洲美女黄色| 久久国产精品72免费观看| 欧美激情网友自拍| 国产日韩欧美一二三区| 亚洲美女在线视频| 久久青草久久| 99国产精品国产精品毛片| 久久成人精品电影| 欧美日韩免费一区| 伊人精品视频| 欧美一区二区观看视频| 亚洲人成人一区二区三区| 久久九九99视频| 国产精品你懂的在线| 亚洲美女一区|