标签:
1.两个整数的和(C++版本)
#include<iostream.h> int main() { int a,b,c; cin>>a>>b; c=a+b; cout<<c<<endl; return 0; }
注意:c语言使用的是库函数,c++使用的是流对象
c++完全支持面向对象的程序设计,它包含了面向对象所具有的4个重要特性:封装、数据隐藏、继承和多态。
在c++中,实际上,如果两个标识符的前面31个字符都相同,编译程序将不能区分它们。
在c++中,关键字全部用小写。
基本数据类型包含整型、字符型、实型和逻辑性4大类。
bool(布尔型)和wchar_t(宽字符型)是C++特有的。其中wchar_t一般有16位。
signed和unsigned用于修饰字符型和整型。
short和long用来修饰字符型和整型。
c++有三种浮点类型:float、double和long double。
在实际软件开发过程中,变量命名有两种常用方法:其一是全部采用小写字母命名,其二是将变量名分成两部分,即:“前缀+主名”的方法。
需要注意的是,虽然浮点数double比long long(64位的整数)表示的范围要大,但是double的精度没有long long大,浮点数最需要注意的就是精度问题。
2.符号常量
#include<iostream.h> #define PI 3.14159 //符号常量的名字一般用大写字母表示 int main() { cout<<"PI="<<PI<<endl; return 0; }
3.C++的新特性
//讲的是scanf和printf的缺陷 #include<stdio.h> int main() { int i=1; double d=1.1; printf("%d\n",d); //这句和下句的输出都有错 printf("%d\n","abcd"); scanf("%d",i); //这句的输入因为i指向的地址是1,这个地址被系统保护,因为非法访问,导致程序崩溃。 return 0; }
c++中输入和输出用流来管理,流类在进行输入和输出时进行类型检查,不会出现上面的情况。
C++定义了4个内存空间:1.代码区 2.全局变量区与静态变量区 3.局部变量区,即栈区 4.动态存储区,即堆区或自由存储区
定义变量后,编译器在编译时都可以根据该变量的类型知道所需的存储空间,从而在适当的时候为它们分配确定的存储空间,这种内存分配称为静态存储分配。
有些操作对象只有在程序运行时才能确定它的存储空间,这样编译时就无法为它们预定存储空间,这种方法称为动态内存分配。所有动态内存分配都在堆区中进行。
{
堆内存的分配和释放,例如:int *p =new int(0);
堆内存的释放用到的是delete运算符,例如:delete p;
//分配和释放堆空间 #include<iostream.h> #include<stdlib.h> int main() { int *z=(int *)malloc(sizeof(int)); cout<<(*z)<<endl; int *z2=new int(); cout<<(*z2)<<endl; int *z3=new int(2); cout<<(*z3)<<endl; delete z; delete z2; delete z3; return 0; } /*结果如下; -842150451 -842150451 2 分析: malloc函数申请的空间不会进行初始化,这是c语言的方式。 用c++的new分配的空间在明确指定初始化参数时进行初始化,否则也不进行初始化。 */
}
//分配和释放一个数组 #include<iostream.h> int main() { int i; int *z=new int[10]; for(i=0;i<10;i++) z[i]=i; for(i=0;i<10;i++) cout<<z[i]<<endl; delete []z; return 0; }
注意:在释放一个数组时,要在delete后加 [ ]
new运算符分配内存成功时返回的是指向空间的地址,否则返回NULL
分配得到的内存在不用时要及时释放,否则当没有指针指向它时就造成内存泄露,长时间运行时会造成系统崩溃。另外要注意,分配得到的内存不可以多次释放。
标签:
原文地址:http://www.cnblogs.com/moya-com/p/4822599.html