zoukankan      html  css  js  c++  java
  • 2、掌握C++基本语法

    1、C语言的结构体没有函数,C++有,默认为public,类的默认为private

    2、析构函数时无参的,this指针底层的运行机制 P40有详细讲解

      this指针是一个隐含的指针,它是指向对象本身,代表了对象的地址

      一个类所有的对象调用的成员函数都是同一代码段。那么成员函数又是怎么识别属于同一对象的数据成员呢?原来,在对象调用pt.output(10,10)时,成员函数除了接受2个实 参外,还接受到了一个对象s的地址。这个地址被一个隐含的形参this指针所获取,它等同于执行this=&pt。所有对数据成员的访问都隐含地被加上前缀this->。例如:x=0;等价于 this->x=0。VS中通常我们使用this来列出该类中的所有成员,提高编写速度,减少错误

    3、显式调用父类的带参数的构造函数,fish():animal(20,20)

    4、C++对象的创建写法和C#、java不同的,没有new

    5、子类对象创建的内存模型  P49

    6、重载:只在同一个类发生,两个条件。

      覆盖:子类 virtual,参数什么都一样,这里有个迟绑定技术

      隐藏:a.没有virtual的覆盖,b.有virtual,但是参数列表不同

      含有纯虚函数的类叫做抽象类,类没有abstract声明,居然和Java不同

    7、引用的应用,c没有引用这个概念

      a.函数形参--避免实参占较大内存时发生值复制

      b.完成一些特殊的作用

    8宏的3种用途

      a.避免重复定义 P60

      b.#define R 10--增加程序的可阅读性

      c.#define max(a,b) ((a>b)?a:b) 预处理时max()会被((a>b)?a:b)代替,和内联函数有神似,相比函数调用,减少了系统什么堆栈之类清理的开销,估计Linux的              CURRENT宏也是这样定义的。

    9、通常把类的定义和函数原型的声明放在头文件.h中,把具体实现方向源文件.cpp中,一个类放在一个.h和.cpp中,这个思想和java比较像

    10、包含头文件用<>和""的区别,#include<iostream.h>是从系统目录下开始搜索不搜索当前目录,#include "animal.h"从当前目录搜索,加快搜索速度,不知道情况下用"",因为在当前目录搜索不到,会到系统目录搜索

    11、C++函数调用最好先声明

    12、C++定义要分号,GCC编译器最接近标准C++

    13、算法分为数值算法和非数值算法,数值算法比较成熟,一般都实现了。非数值算法,我认为是业务逻辑那些。

    14、break--结束整个循环,continue只结束本次循环。

    15、编译从上而下,内置函数(inline function),适用规模小且被频繁调用的函数

    16、函数模板,可以和函数重载对比一下

    17、用register声明寄存器变量---频繁使用的  如12000次循环

    18、内部函数static和外部函数extern

    19、程序编译后已经将变量转换为变量的地址,对变量值的存取都是通过地址进行的

    20、数组访问,用下标法和指针法。指针法占内存小,运行速度快。

    21、typedef的作用。。。。sizeof作用,查看一个对象所占的空间大小

    22、C++编译系统用一段空间来存放各个对象共同的函数代码段,在调用各对象的函数时,都去调用这个共用的函数代码。一个对象所占的空间大小只取决于该对象中数据成员所占的空间,而与成员函数无关。函数代码是存储在对象空间之外的。

    23、注意虚函数和成员函数的区别。虚函数有虚函数表,而成员函数没有。调用的时候只是从程序的某一个地方跳到另外一个地方去执行

  • 相关阅读:
    C# 委托的妙文相当适合我
    分享18个常用的网站性能测试工具
    使用Intelligencia.UrlRewriter重写有后缀及无后缀的url
    c#socket发送邮件详解
    欧美经典怀旧超级经典老歌!STARSHIP
    软件工程之百科名片SQA
    昨天订了道奇酷威
    陈淑桦梦醒时分
    TT已售
    组织过程资产与事业环境因素
  • 原文地址:https://www.cnblogs.com/chester/p/2010705.html
Copyright © 2011-2022 走看看