C++ 与C 的不同之处在于它是一种面向对象的编程语言。它是一种静态类型、编译型、通用、区分大小写、不规则的编程语言,支持过程编程、面向对象编程和通用编程。 C++ 被认为是一种结合了高级语言和低级语言特性的中级语言。
C++完全支持面向对象编程,包括面向对象开发的四个关键特性。
封装
抽象的
继承
多态性
标准C++ 由三个重要部分组成:
核心语言提供了所有的构造,包括变量、数据类型、常量等。
C++标准库提供了许多用于操作文件、字符串等的函数。
标准模板库(STL) 提供了许多用于操作数据结构等的方法。
C++ 程序可以定义为通过调用彼此的方法进行交互的对象的集合。现在让我们快速了解一下什么是类、对象、方法和即时变量。
对象- 对象具有状态和行为。示例:狗的状态- 颜色、名称、品种、行为- 摇晃、吠叫、进食。对象是类的实例。
类- 类可以定义为描述对象的行为/状态的模板/蓝图。
方法- 基本上,方法代表一种行为。一个类可以包含多个方法。您可以编写逻辑、操作数据并执行方法内的所有操作。
即时变量- 每个对象都有自己独特的即时变量。对象的状态是根据这些即时变量的值创建的。
数据类型
基本内置型
C++ 为程序员提供了一组丰富的内置和用户定义的数据类型。下表显示了七种基本的C++ 数据类型。
输入关键字
布尔值bool
字符类型char
整数
浮点浮点
双浮点双精度
空无形状
宽字符类型
wchar_t
事实上,wchar_t来自:
typedef wchar_t 短整型;
因此,wchar_t的实际空间与short int相同。
某些基本类型可以使用一个或多个类型限定符进行修改。
签
未签名
短的
长度
下表显示了每种变量类型在内存中存储其值所需的内存量,以及该类型的变量可以存储的最大值和最小值。
注意:这因系统而异。
类型位范围
char1 字节- 128 到127 或0 到255
无符号char1 字节0 到255
有符号char1 字节-128 到127
int4 字节- 2147483648 到2147483647
无符号int4 字节0 到4294967295
有符号int4 字节- 2147483648 到2147483647
短int2 字节- 32768 到32767
无符号短整型2 字节0 到65,535
有符号短int2 字节- 32768 到32767
long int8 字节- 9,223,372,036,854,775,808 到9,223,372,036,854,775,807
有符号长整型8 字节- 9,223,372,036,854,775,808 到9,223,372,036,854,775,807
unsigned long int8 字节0 到18,446,744,073,709,551,615
float4 字节+/- 3.4e +/- 38(~7 位数字)
double8 字节+/- 1.7e +/- 308(最多15 个数字)
long double16 字节+/- 1.7e +/- 308(最多15 个数字)
wchar_t2 或4 字节单宽字符
从上表中可以看出,变量大小根据您使用的编译器和计算机而有所不同。
以下示例打印计算机上各种数据类型的大小。
例子
#includeiostream
#包含字符串
#包括限制
使用命名空间标准。
int main()
{
cout 'type: \t\t' '************大小********************' endl;
cout 'bool: \t\t' '占用字节数:' sizeof(bool);
cout '\t最大值:' (numeric_limitsbool:max)();
cout '\t\t最小值:' (numeric_limitsbool:min)() endl;
cout 'char: \t\t' '占用字节数:' sizeof(char);
cout '\t最大值:' (numeric_limitschar:max)();
cout '\t\t最小值:' (numeric_limitschar:min)() endl;
cout 'signed char: \t' '占用字节数:' sizeof(signed char);
cout '\t最大值:' (numeric_limitssigned char:max)();
cout '\t\t最小值:' (numeric_limitssigned char:min)() endl;
cout 'unsigned char: \t' '占用字节数:' sizeof(unsigned char);
cout '\t最大值:' (numeric_limitunsigned char:max)();
cout '\t\t最小值:' (numeric_limitunsigned char:min)() endl;
cout 'wchar_t: \t' '占用字节数:' sizeof(wchar_t);
cout '\t最大值:' (numeric_limitswchar_t:max)();
cout '\t\t最小值:' (numeric_limitswchar_t:min)() endl;
cout 'short: \t\t' '占用字节数:' sizeof(short);
cout '\t最大值:' (numeric_limitsshort:max)();
cout '\t\t最小值:' (numeric_limitsshort:min)() endl;
cout 'int: \t\t' '占用字节数:' sizeof(int);
cout '\t最大值:' (numeric_limitsint:max)();
cout '\t最小值:' (numeric_limitsint:min)() endl;
cout 'unsigned: \t' '占用字节数:' sizeof(unsigned);
cout '\t最大值:' (numeric_limitunsigned:max)();
cout '\t最小值:' (numeric_limitunsigned:min)() endl;
cout 'long: \t\t' '占用字节数:' sizeof(long);
cout '\t最大值:' (numeric_limitslong:max)();
cout '\t最小值:' (numeric_limitslong:min)() endl;
cout 'unsigned long: \t' '占用字节数:' sizeof(unsigned long);
cout '\t最大值:' (numeric_limitunsigned long:max)();
cout '\t最小值:' (numeric_limitunsigned long:min)() endl;
cout 'double: \t' '占用字节数:' sizeof(double);
cout '\t最大值:' (numeric_limitsdouble:max)();
cout '\t最小值:' (numeric_limitsdouble:min)() endl;
cout 'long double: \t' '占用字节数:' sizeof(long double);
cout '\t最大值:' (numeric_limitslong double:max)();
cout '\t最小值:' (numeric_limitslong double:min)() endl;
cout 'float: \t\t' '占用字节数:' sizeof(float);
cout '\t最大值:' (numeric_limitsfloat:max)();
cout '\t最小值:' (numeric_limitsfloat:min)() endl;
cout 'size_t: \t' '占用字节数:' sizeof(size_t);
cout '\t最大值:' (numeric_limitssize_t:max)();
cout '\t最小值:' (numeric_limitssize_t:min)() endl;
cout 'string: \t' '占用字节数:' sizeof(string) endl;
//'\t最大值:' (numeric_limitss
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。