C++ 概述
2012-06-08 21:09 netwy 阅读(165) 评论(0) 收藏 举报一、C++ 是一种通用程序设计语言
它
-- 是一个更好的C
-- 支持数据抽象
-- 支持面向对象的程序设计
-- 支持通用型程序设计
视C++为一个语言联邦,C++主要的次语言:
1、C。C++仍是以C为基础
2、Object-Oriented C++,C With Class 面向对象C++
3、Template C++,泛型编程
4、STL 标准模板库
二、C++ 程序设计范型
1、过程式程序设计
2、模块程序设计,将不同的模块封装到不同的命名空间中
3、面向对象程序设计
具体类型和抽象数据类型
在画图的程序中,具体类型会设计一个类,然后在画图函数中通过一个类型域(枚举)画不同的图形。
采用抽象数据类型后,会抽象出所有图形的公共接口,然后通过继承机制实现各个图形的不同特征,
画出不同的图形。
具体类型的意图就是使一个单独的、相对较小的事情能够很好地并且高效的完成。通常并不希望表现出多态性的行为。定义一组良好的这种类型能够为应用提供一个基础,具体类型的大小在编译期已知晓,因此这种对象可以在运行栈上分配空间以提高效率。
4、通用型程序设计
确定你需要哪些算法;
将他们参数化,使他们能够对各种各样适当的类型和数据结构工作
模板是一种编译时的机制,因此,与"手工编写的代码"相比,他们的使用并不引起任何额外的运行时开销。
忠告:
请特别关注程序设计技术,而不是各种语言特征。学习一种语言就应该去把握对该语言而言固有的和自然的风格,而不是
不理解该语言的所有语言特征的细枝末节。
三、标准库
----------------------------------------------
标准库定义在一个称为std的命名空间里,标准库的功能都是通过头文件提供的。
C++基本类型,他们对应计算机的基本存储单元。
1、布尔类型
具有两个值:true和false。整数和指针可以隐含的转换到bool值:非零的整数为true,零为false
2、字符类型
字符型有char和wchar_t两种,每个字符都有一个整数值,不同的字符集对应的整数值可能不同。
3、整数类型
每个整数类型有三种形式:int、signed int和unsigned int,此外,整数还有三种大小:short int、int和long int
4、浮点类型
double、float
----------------------------------------
C++基本类型的大小在某些方面是由实现确定的,用char的大小的倍数表示。
---------------------------------------------------------------------
5、void类型
是一个语法上的基本类型,void被用于刻画一个函数并不返回值。
6、指针类型
指针有四个方面的内容:即指针的类型,指针所指向的类型,指针的值,指针本身所占有的内存区
指针的类型:
int*ip; //指针的类型是int*
char*ip; //指针的类型是char*
int**ip; //指针的类型是int**
int(*ip)[5]; //指针的类型是int(*)[5]
指针所指向的类型:
int*ip; //指针所指向的类型是int
char*ip; //指针所指向的类型是char
int**ip; //指针所指向的类型是int*
int(*ip)[5]; //指针所指向的类型是int()[5]
指针的值(或称指针所指向的内存区)
所有类型的指针的值都是一个32位整数,因为32位程序里内存地址全都是32位长。 指针所指向的内存区就是从指针的值所代表的那个内存
地址开始,
长度为sizeof(指针所指向的类型)的一片内存区。
指针本身:
指针本身所占有的内存区是指针本身占内存的大小,这个你只要用函数sizeof(指针的
类型)测一下就知道了。在32位平台里,指针本身占据了4个字节的长度。
7、数组类型
数组的边界必须是一个常量表达式
8、引用类型
一个引用就是某个对象的另一个名字,引用的主要用途就是为了描述函数的参数和返回值
引用类型必须要初始化,初始化后就不能再改变,对引用的初始化和赋值是完全不同的概念
C++ 自定义类型
1、枚举类型
枚举的使用就像一个整数类型,枚举的值一般从0开始,也可以显示的初始化。
2、数据结构和类
浙公网安备 33010602011771号