1.命名空間
關鍵字:namespace
目的:為了解決變數命名衝突的問題,同乙個變數名a在不同的作用域下,含義是不同的。
#includeusing namespace std
namespace aa1
namespace aa2
}
2.c++基本的輸入輸出流
<1>標準輸入流物件cin
在標頭檔案中,指從標準輸入裝置(鍵盤)中輸入。「>>」提取運算子,與cin配合使用,其作用是從輸入裝置(鍵盤)中提取資料送到輸入流cin中。
cin<<2>標準輸出流物件cout
在 標頭檔案中,指輸出到顯示屏中。「<<」插入運算子,與cout配合使用,其作用是將「<<」右側的插入到輸出的佇列cout中。
cout<3.過載(c++為什麼支援過載?)
過載:在c++中,在同乙個作用域中,函式名相同,而函式引數型別或函式引數個數不同的情況。
在c中,在同一作用域中,函式名唯一;在c++中,在同一作用域中,要求函式簽名唯一。所謂函式簽名,指函式名+引數列表。
由於c++有函式名修飾規則,從而使得c++可以過載。
int f(int x,int y)//會被重新命名為類似_z1fic的形式
int f(int x,double y)//_z2fid
4.c++預設引數
所謂預設引數,就是在宣告函式的某個引數的時候給它指定乙個預設值,在呼叫函式時,當使用預設引數時,就不需要給值。規則:帶預設值的引數必須放在引數列表的最後面。
int add1(int a,int b = 20)//半預設
int add2(int a = 10,int b = 20)//全預設
//呼叫
add1(10);
add1(10,30);
add2();
add2(20,40);
5.指標和引用(概念、使用方法、做引數、做返回值的作用,指標和引用的區別)
區別:
指標:變數的指標是變數的位址,用來存放變數位址的變數就是指標變數。即指標是指向乙個位址的。
int *p11,*p12;//定義指標變數p1,p2
int a = 10;
int b = 20;
p11 = &a;//將a的位址賦給p1
p12 = &b;//將b的位址賦給p2
//指標做函式引數
swap(p11,p12);//交換*p1和*p2
void swap(int *p1,int *p2)
//指標做返回值
int* a(int x,int y)//呼叫它以後返回乙個指向整型資料的指標(位址)。
int a = 10;
int &b = a;//b是a的別名
b = 30;//通過b來改變a,此刻a=30
//引用做函式引數
int i = 3,j = 5;
swap(i,j);
//void swap(int &a,int &b)
//引用做函式返回值
int& f(int a,int b)
返回的是乙個臨時變數,將返回值的位址儲存在暫存器中,接收的時候是接受這個變數的引用,雖然結果正確,但存在問題。在函式呼叫完成以後,棧幀銷毀,如果在呼叫乙個其他函式,這個接收的值就有可能發生變化,產生乙個隨機的值。
結論:1.不要返回乙個臨時變數的引用
2.如果返回物件出了當前函式的作用域依然存在,則最好使用引用返回,這樣比較高效。
區別:
1.引用只能在定義時初始化一次,之後則不能改變使它指向另乙個變數(從一而終);而指標變數的值是可以改變的。
2.引用必須指向有效的變數,而指標可以為空(null)
3.sizeof指標和引用的意義不同,sizeof指標物件:物件位址的大小,sizeof引用物件:所指向變數的大小。
4.指標和引用自增(++)和自減(- -)意義不同。
int a[2] = ;
int* pa = a;
int &b = a[0];
pa++: pa現在指向a[0],pa++就是指向下乙個元素的位址,即a[1]
b++ : b指向a[0]元素的值2,b++則指向a[1]元素的值,即3
5.引用比指標更加安全一些。
LVM中的幾個概念
lvm中的幾個概念 pv physical volume 物理卷在邏輯卷管理系統 最底層,可為整個物理硬碟 或實際物理硬碟上的分割槽。vg volume group 捲組建立在物理卷上,一捲組中至少要包括一物理卷,捲組建立後可動態的新增捲到卷組中,乙個邏輯卷管理系統工程中可有多個捲組。lv logi...
websphere中的幾個概念
什麼是單元 cell 什麼是節點 node node profile 與 server 之間的關係是什麼?答 單元 單元是整個分布式網路中乙個或多個節點的邏輯分組。單元是乙個配置概念,是管理員將節點間邏輯關聯起來的實現方法。管理員根據具體的業務環境,制定對其整體系統整合環境有意義的條件來定義和組織構...
Spring AOP中的幾個概念
aop,即面向切面程式設計,是對oop的一種補充和完善,在oop中由於有大量 的重複導致不利於各個模組的重用,而aop技術利用一種稱為 橫切 的技術,剖解開封裝的物件內部,並將那些影響了多個類的公共行為封裝到乙個可重用模組,並將其命名為 aspect 即切面。所謂 切面 簡單說就是那些與業務無關,卻...