/*
達內學習 C++ day45 2013-11-5
*/
C++的發展
80 貝爾實驗室 本賈尼
1983 命名C++
1987 gnu 推出C++ 的標準
1998 ISO C++98
2003 ISO C++03
2011 ISO C++0x
C++ 和 C語言的聯繫和區別
C++ 包含整個C C++是建立在C語言基礎上
C++ 是強類型語言 比C對類型檢查更加嚴格
C++ 語言比C更加豐富
1,C++支持面向對象
C++宏觀上面向對象,圍微觀上面向過程
2,C++支持運算符重載
3,C++支持異常處理
4,C++支持泛型編程
頭文件位置 usr/include/c++/4.6
c++標準頭文件沒有.h
gcc -lstdc++可以找到c++的庫
g++ -E -S -O -o -I -L -l -g -std
使用std空間下的相關數據
std::cout std::cin std::endl
前面加名稱空間名 是最根本的使用方式
/* 使用聲明的方式 */
using std::cout;
using std::cin;
/* 使用指令的方式 */
using namespace std;
C++導入標準C的頭文件,去掉.h,前面加上c
uc的直接導入
命名空間:把一組相關的數據放入一個邏輯結構中,統一管理。
系統提供一個叫std的命名空間
2,如何定義命名空間
namespace 空間名
{
數據;
}
3, 使用命名空間
a,通過在空盡數據前 加 空間名::數據
b,通過聲明數據的方式
using 空間名::數據;
c,使用 using namespace 指令
4,特殊的命名空間 匿名命名空間
namespace{}
::數據; //調用匿名空間
5,命名空間的嵌套
namespace ns1{
int a = 1;
namespace ns2
{
int b = 2;
namespace ns3
{
int a=3;
void show()
{
cout<<a<<endl;
}
}
}
}
int main()
{
ns1::ns2::ns3::show();
using ns1::a;
cout<<a<<endl;
using namespace ns1::ns2;
ns3::show();
}
C++中的結構 聯合 枚舉
C++中的結構
類型名字 直接就是結構體名字 定義變量不需要使用struct關鍵字
C++的結構體中可以定義函數
C++的結構體 如果沒有任何字段 大小是1,C語言中是0
2,c++中的聯合。
union
{
int d;
char data[4];
};
允許使用匿名聯合
3,C++中的枚舉
類型不在使用關鍵字 enum
C++中的枚舉是一個特定的類型, 類型檢查比C嚴格
C++中的bool類型
bool類型是一種特定的類型 本質是整數
真就是1 假就是0
出現以下情況表達是false
0.0, 0,'\0',NULL,false
C++中函數
1,無參代表 沒有任何參數 c語言中無參代表任意個參數
2,C++函數調用前 必須顯示聲明 不在支持隱式聲明
3,不設計返回值 不再默認返回int ,main函數除外