c++引入命名空間是為了解決命名衝突問題;
假設這樣一種情況,當乙個班上有兩個名叫 zara 的學生時,為了明確區分它們,我們在使用名字之外,不得不使用一些額外的資訊,比如他們的家庭住址,或者他們父母的名字等等。同樣的情況也出現在 c++ 應用程式中。例如,您可能會寫乙個名為 xyz() 的函式,在另乙個可用的庫中也存在乙個相同的函式 xyz()。這樣,編譯器就無法判斷您所使用的是哪乙個 xyz() 函式。
因此,引入了命名空間這個概念,專門用於解決上面的問題,它可作為附加資訊來區分不同庫中相同名稱的函式、類、變數等。使用了命名空間即定義了上下文。本質上,命名空間就是定義了乙個範圍。
命名空間的定義使用關鍵字 namespace,後跟命名空間的名稱,如下所示:
namespace namespace_name
例項
#include
using
namespace std;
// 第乙個命名空間
namespace first_space
}// 第二個命名空間
namespace second_space
}int main (
)
可以使用 using namespace 指令,這樣在使用命名空間時就可以不用在前面加上命名空間的名稱。這個指令會告訴編譯器,後續的**將使用指定的命名空間中的名稱。
#include
using
namespace std;
// 第乙個命名空間
namespace first_space
}// 第二個命名空間
namespace second_space
}using
namespace first_space;
int main (
)
兩種定義方式:
#define pi 3.14
const float pi 3.1415
型別
位元組數(位數)
最小值最大值
int4(32)
-2147483648
2147483648
shot int
2(16)
-32768
32768
unsigned int
4(32)
04294967295
…
float:4位元組;
double:8位元組;
long double:16位元組;
(在學習…)
型別數值範圍大的優先作為轉換物件
double>float>unsigned long>long> unsigned int> int
也就是long 和int相加會自動轉換成long
使用於大範圍轉換小範圍
int a;
float b,c;
a=(int)b+c;
函式名稱
功能建構函式
產生或複製字串
析構函式
銷毀字串
=,assign
賦以新值
swap
交換兩個字串的內容
新增字元
insert ()
插入字元
erase()
刪除字元
clear ()
移除全部字元
resize ()
改變字元數量
replace()
替換字元
+串聯字串
==,! =,<,<=,>,>=,compare()
比較字串內容
size(),length()
返回字元數量
max_size ()
返回字元的最大可能個數
empty ()
判斷字串是否為空
capacity ()
返回重新分配之前的字元容量
reserve()
保留記憶體以儲存一定數量的字元
,at()
訪問單一字元
>>,
getline() 從 stream 中讀取某值
<<
將值寫入 stream
copy()
將內容複製為乙個 c - string
c_str()
將內容以 c - string 形式返回
data()
將內容以字元陣列形式返回
substr()
返回子字串
find()
搜尋某子字串或字元
begin( ),end()
提供正向迭代器支援
rbegin(),rend()
提供逆向迭代器支援
get_allocator()
返回配置器
C 複習中相關要點記錄(三)
include 指令 define指令 define newline coutvoid owner int main void owner 巨集函式 條件編譯指令 使用結構來集合各種不同的資料型別,形成新的資料型別。結構 陣列 陣列可以做結構成員 也可以宣告成結構行陣列。結構指標陣列 結構做函式引數...
C 複習要點總結之八 繼承一
一 不同的繼承方式會改變繼承成員的訪問屬性 public 修飾的成員變數 方法 在類的內部和外部都可以使用。protected 修飾的成員變數 方法在類的內部使用,在繼承的子類中使用,類的外部不能使用。是為了在家族中使用,為了得到繼承!private 修飾的成員變數 方法 只能在類的內部使用,不能在...
CSS相關的複習記錄 持續更新
自內向外 content,padding,border,margin.content代表 width height.w3c預設 box sizing content box ie 預設 box sizing border box 行內元素可以用 text align center 塊級元素可以使用 ...