zoukankan      html  css  js  c++  java
  • 【C++第三课】---新的关键字

    一、动态分配内存的时的关键字

    注意在C++中和C不一样的是,在C中使用的malloc来动态分配内存,而这个malloc只是标准C库的调用,所以这个不属于标准C的范畴,而在C++

    中却有真正的关键字来分配内存,而这个关键字就是new,相应的释放内存的关键字是delete。

    动态内存分配关键字使用示例:

    1、变量申请内存

          type*  pointer  = new type

          .........

          delete  pointer;

    2、数组申请内存

          type*  pointer  = new type[N];

          .........

          delete[]  pointer;

    二、关键字new的初始化

    初始化的一个示例:

    int main()
    {
    	float* p1 = new  float(3.14);
    	int* p2 = new int(10);
    	char* p3 = new char('a');
    	cout<<"p1 = "<<*p1<<endl;
    	cout<<"p2 = "<<*p2<<endl;
    	cout<<"p3 = "<<*p3<<endl;
    	delete(p1);
    	delete(p2);
    	delete(p3);
    	return 0;
    }


    三、C++中的命名空间

    1、对比C和C++中的变量命名

    在C语言中只有一个全局作用域
    C语言中所有的全局标识符共享同一个作用域
    标识符之间可能发生冲突
    C++中提出了命名空间的概念
    命名空间将全局作用域分成不同的部分
    不同命名空间中的标识符可以同名而不会发生冲突
    命名空间可以相互嵌套
    全局作用域也叫默认命名空间
    2、命名空间命名规则的一个实例

    namespace NUM1
    {
    	int a = 0;
    }
    namespace NUM2
    {
    	int a = 1;
    	namespace NUM22
    	{
    		int a = 2;
    	}
    }


    那么如何使用命名空间呢?

    C++命名空间的使用:
    使用整个命名空间:using namespace name;
    使用命名空间中的变量:using name::variable;
    使用默认命名空间中的变量:::variable

    例如:

    int main()
    {
    	using namespace NUM1;
    	using NUM2::NUM22::a;
    	using NUM2::a;
    	cout<<"NUM1(a) = "<<a<<endl;
    	cout<<"NUM2(a) = "<<NUM2::a<<endl;
    	cout<<"NUM22(a) = "<<NUM2::NUM22::a<<endl;
    	return 0;
    }







  • 相关阅读:
    centos安装elasticsearch-rtf5.5.4
    docker的8个使用场景
    通过优化Gunicorn配置获得更好的性能
    django更换ORM连接处理(连接池)转
    单点登录,系统B如何辨别用户已登录系统A
    数据库Mysql的学习(六)-子查询和多表操作
    数据库Mysql的学习(五)-运算符与函数
    数据库Mysql的学习(四)-表的记录操作
    数据库Mysql的学习(三)-各种约束
    c和c++单链表
  • 原文地址:https://www.cnblogs.com/pangblog/p/3339343.html
Copyright © 2011-2022 走看看