/*
达内学习 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函数除外