C 快速入門計畫 第二天

2021-09-28 15:33:32 字數 2814 閱讀 8617

c++ 儲存類

儲存類定義 c++ 程式中變數/函式的範圍(可見性)和生命週期。這些說明符放置在它們所修飾的型別之前。下面列出 c++ 程式中可用的儲存類:

auto

auto 關鍵字用於兩種情況:宣告變數時根據初始化表示式自動推斷該變數的型別、宣告函式時函式返回值的佔位符。

auto f=

3.14

;//double

autos(

"hello");

//const char*

auto z =

newauto(9

);// int*

auto x1 =

5, x2 =

5.0, x3=

'r';

//錯誤,必須是初始化為同一型別

register

用於定義儲存在暫存器中而不是 ram 中的區域性變數。這意味著變數的最大尺寸等於暫存器的大小(通常是乙個詞),且不能對它應用一元的 『&』 運算子(因為它沒有記憶體位置)。

static

指示編譯器在程式的生命週期內保持區域性變數的存在,而不需要在每次它進入和離開作用域時進行建立和銷毀。因此,使用 static 修飾區域性變數可以在函式呼叫之間保持區域性變數的值。static 修飾符也可以應用於全域性變數。當 static 修飾全域性變數時,會使變數的作用域限制在宣告它的檔案內。在 c++ 中,當 static 用在類資料成員上時,會導致僅有乙個該成員的副本被類的所有物件共享。

#include

// 函式宣告

void

func

(void);

static

int count =10;

/* 全域性變數 */

intmain()

return0;

}// 函式定義

void

func

(void

)

extern

用於提供乙個全域性變數的引用,全域性變數對所有的程式檔案都是可見的。當您使用 『extern』 時,對於無法初始化的變數,會把變數名指向乙個之前定義過的儲存位置。當我們有多個檔案且定義了乙個可以在其他檔案中使用的全域性變數或函式時,可以在其他檔案中使用 extern 來得到已定義的變數或函式的引用。可以這麼理解,extern 是用來在另乙個檔案中宣告乙個全域性變數或函式。extern 修飾符通常用於當有兩個或多個檔案共享相同的全域性變數或函式的時候

mian.cpp

#include

int count ;

extern

void

write_extern()

;int

main()

statert.cpp

#include

extern

int count;

void

write_extern

(void

)

mutable

thread_local

使用 thread_local 說明符宣告的變數僅可在它在其上建立的執行緒上訪問。 變數在建立執行緒時建立,並在銷毀執行緒時銷毀。 每個執行緒都有其自己的變數副本。thread_local 說明符可以與 static 或 extern 合併。可以將 thread_local 僅應用於資料宣告和定義,thread_local 不能用於函式宣告或定義。以下演示了可以被宣告為 thread_local 的變數

thread_local

int x;

// 命名空間下的全域性變數

classx;

static

thread_local std::string x::s;

// x::s 是需要定義的

void

foo(

)

c++ 運算子

#include

using

namespace std;

#算術運算

intmain()

#include

using

namespace std;

#關係運算子

intmain()

else

if( a < b )

else

if( a > b )

else

/* 改變 a 和 b 的值 */

a =5;

b =20;

if( a <= b )

if( b >= a )

return0;

}

include 

using

namespace std;

#邏輯運算子

intmain()

if( a || b )

/* 改變 a 和 b 的值 */

a =0;

b =10;

if( a && b )

elseif(

!(a && b)

)return0;

}

#include

using

namespace std;

#位運算子

intmain()

C 學習第二天

方法的可選引數 static void main string args static void testinfo int a 158,int b 10,float f 0.8f b f a,b,f 下面這個方法中形式引數a為必選引數,換句話說當呼叫該方法時,至少是int a 118 testinf...

C 第二天學習

1.今天oj上開了 類 專題的題,做了幾個簡單的題,感覺上面的題還是比較水的,不過b題還是wa了4次。然後又看了一下課本上關於類的知識點,覺得類這種資料形式使資訊隱藏變得現實,只有類裡public下的函式可以使用private下的資料,如果沒有介面的話,這樣的乙個類就真的 隱藏 了。不過這樣就沒意義...

C 學習第二天

1.c語言的輸入輸出 define crt secure no warnings include include int main 2.c 的輸入和輸出 include include using namespace std void main 1.第乙個是我們 include他引用了沒有.h檔案這...