码迷,mamicode.com
首页 > 编程语言 > 详细

C++

时间:2015-09-20 00:24:33      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

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

分配得到的内存在不用时要及时释放,否则当没有指针指向它时就造成内存泄露,长时间运行时会造成系统崩溃。另外要注意,分配得到的内存不可以多次释放。

 

 

C++

标签:

原文地址:http://www.cnblogs.com/moya-com/p/4822599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!