zoukankan      html  css  js  c++  java
  • C++、、

    1)C++面向对象的三大特征:多态、继承、封装;

    2)头文件中 ifndef/define/endif 的作用是:防止头文件的重复包含和编译;

    3)可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同:

         静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量;
         栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分               配的内存容量有限:
         堆区:亦称动态内存分配。程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在适当的时候用free或delete释放内存。动态内存的生存期可以由我们决                  定,如果我们不释放内存,程序将在最后才释放掉动态内存。

    4)struct 和 class 的区别:class中变量默认是private,struct中的变量默认是public。struct可以有构造函数、析构函数,之间也可以继承等等。C++中的struct其实和class      意义一样,唯一的不同是struct默认的访问控制是public,而class中默认的访问控制是private。

    5)关键字 static 的作用:C语言中:

       1.在函数体内static变量的作用范围为该函数体,并且该变量的内存只能分配一次,其值下次调用时仍维持上次的值;

       2.在模块内static全局变量可以被模块内的所有函数访问,但不能内模块外其他函数访问;

       3.模块内的static函数只可被这一模块的其他函数调用,这个函数的使用范围被限制在声明它的模块内;

       4.在类中的static成员变量属于整个类所有,对类的所有对象只有 一份拷贝;

       5.在类中static成员函数属于整个类所有,这个函数不接收this指针,因此只能访问类的static成员变量。

    6)在C++程序中调用被C编译器编译后的函数,为什么要加 extern “C”?

        C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个函数的原型为 void fun(int x,int y),该函数被C编译器编译后在库中的名字为_fun,而C++编译器则会产生像_fun_int_int之类的名字。

       所以C++提供了C连接交换指定符号extern "C"解决名字匹配问题。

  • 相关阅读:
    Python之文件操作
    document.hasFocus() & $(window).blur()
    innerHtml 会忽略里面元素的属性
    ng  命令集合
    阿里云ECS CentOs7.3下搭建LAMP环境(Apache2.4 + Mysql5.7 + PHP5.6 + Laravel5.2)
    在忘记root密码的时候,可以这样 亲测可用
    下一次装mysql 试一下这个方法
    CentOS-6.8安装Mysql-5.5.29
    阿里云服务器下安装LAMP环境(CentOS Linux 6.3)
    CentOS 7.2 配置Apache服务(httpd)--上篇
  • 原文地址:https://www.cnblogs.com/jx-yangbo/p/4872918.html
Copyright © 2011-2022 走看看