1.显示转换:类型说明符(表达式),如a = int(z)

2.枚举类型enum:专门用来解决对数据的合法性检查问题,如一星期七天,如果用int/char等数据类型描述时,则需要对数据的合法性检查。声明形式为:

    enum 枚举类型名  {变量值列表}

  注意:- 对枚举元素按常理处理,不能对其赋值

     - 枚举值可以进行关系运算

     - 整数值不能直接赋给枚举变量,如果需要,应进行强制类型转换

     - C++中声明完枚举类型后,声明变量时,可以不写关键字enum

3.反汇编:值将机器语言代码转换成与之对应的汇编语言代码的过程。

4.CPU所执行的指令并不对操作数的类型加以区分,对各个操作数都执行相同的操作。编译器需要根据变量的数据类型选择适当的指令

5.IA-32:Inter Architecture,Inter体系架构

6.递归过程的两个阶段:递推、回归

7.引用传递:引用是一种特殊类型的变量,可以被认为是另一个变量的别名;声明一个引用时,必须同时对它进行初始化,使它指向一个已经存在的对象;一旦一个引用被初始化后,就不能改为指向其他对象。如:int &i = a.

8.内联函数不是在调用时发生空置转移,而是在编译时将函数体嵌入在每一个调用处,节省了参数传递,控制转移等开销。关键字inline修饰在函数定义时刻。编译器并不承诺将函数一定声明为内联函数,递归一定不会被声明为内联。

9.带默认形参值的函数:有默认值得形参必须在形参列表的最后,有默认形参的右边不能出现无默认值的形参

10.函数重载:解决人类自然语言中的一词多以,反映到程序中就是重载。

  - 定义:两个以上的函数,具有相同的函数名,但是形参的个数或者类型不同,编译器根据实参和形参的类型及个数的最佳匹配,自动确定调用哪一个函数,这就是函数的重载。

  - 注意:重载函数的形参必须不同,个数不同或者类型不同。编译器不以返回值区分函数

11.系统函数:分为两类,一是标准c++的函数,另一类是非标准c++的函数,它是当前操作系统或编译环境中所特有的系统函数。

12.参数声明:在C语言中,声明函数时,括号内为空,并不表示这个函数没有任何参数,而表示它所要求的参数是未知的。否则应加入void。

13.封装:将抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据与操作数据的函数代码进行有机的结合,形成类,其中数据和函数都是类的成员

14.继承:使得一般概念中的属性和行为可以被特殊概念共享,摆脱重复分析,重复开发的困境。

15.多态:指一段程序能够处理多种类型对象的能力。通过强制多态,重载多态,类型参数多态,包含多态4中形式来实现。强制多态主要是指类型转换(显式和隐式),重载指给同一个名字赋予不同的含义,这两种多态属于特殊多态,只是表面的多态。虚函数实现包含多态,虚函数是多态性的精华。模板实现参数化多态。

16.当创建类的对象时,如果这个类具有内嵌对象成员,那么各个内嵌对象将首先被自动创建。在创建对象时既要对本类的基本类型数据成员进行初始化,又要对内嵌对象成员进行初始化。组合类构造函数定义如下:

    类名::类名(形参表):内嵌对象1(形参表),内嵌对象2(形参表),...

17.前向引用声明:

  - 解决问题:遇到两个类互相引用(循环依赖)

  - 定义:在引用未定义的类之前,将该类的名字告诉编译器,eg:class B;

  - 注意:在提供一个完整的类定义之前,不能定义该类的对象,也不能在内联成员函数中使用该类的对象。

  - 可以声明类的对象引用或指针

18.结构体与类的区别:结构体和类的唯一区别在于,结构体和类具有不同的默认访问控制属性:在类中,对于未指定访问控制属性的成员,其访问控制属性为私有,结构体中为共有类型。之所以在c++引入结构体,是为了保证与c的兼容性

19.函数调用时传递基本类型的数据是通过运行栈,传递对象也一样是通过运行栈。在主调函数和被调函数之间,有一块二者都要访问的公共区域,主调把实参写入,函数调用发生后,北调函数通过读取这段区域即可得到形参值。

c++的一些习惯的更多相关文章

  1. 防御性编程习惯:求出链表中倒数第 m 个结点的值及其思想的总结

    防御性编程习惯 程序员在编写代码的时候,预料有可能出现问题的地方或者点,然后为这些隐患提前制定预防方案或者措施,比如数据库发生异常之后的回滚,打开某些资源之前,判断图片是否存在,网络断开之后的重连次数 ...

  2. 漫谈C++:良好的编程习惯与编程要点

    以良好的方式编写C++ class 假设现在我们要实现一个复数类complex,在类的实现过程中探索良好的编程习惯. ① Header(头文件)中的防卫式声明 complex.h: # ifndef ...

  3. PHP新手常见的一些不好习惯(抄的 有待理解)

    1.不写注释(是个好习惯,不过也没必要每个语句都要写) 2.不使用可以提高生产效率的IDE工具 3.不使用版本控制 4.不按照编程规范写代码 5.不使用统一的方法 6.编码前不去思考和计划 7.在执行 ...

  4. XCode设置自己windows习惯的快捷键(比如Home、End键)

    Xcode的preference(command+,)中可以设置Key Bindings.绑定自己习惯的快捷键.实测系统快捷键设置同样名字也可以生效,但操作比较繁琐这里就不介绍了. 1.打开Xcode ...

  5. Web开发者需养成的好习惯

    Web开发者需养成的8个好习惯 每个行业有着每个行业的标准和一些要求,自己只是一个进入前端领域的小白,但是深刻的知道,习惯很重要,就Web开发分享一下,要养成的一些好的习惯. 优秀的Web开发人员工作 ...

  6. C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义

    类型判断符号: C#:object a;  if(a is int) { }  用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 inst ...

  7. SQL SERVER全面优化-------写出好语句是习惯

    前几篇文章已经从整体提供了诊断数据库的各个方面问题的基本思路...也许对你很有用,也许你觉得离自己太远.那么今天我们从语句的一些优化写法及一些简单优化方法做一个介绍.这对于很多开发人员来说还是很有用的 ...

  8. java程序员保持天天快乐的6个习惯

    忍不住感叹,我第一次对Buffer(在社交媒体上发布最简单的方式)有所想法已经差不多是两年前的事了.并且,在我有想法的一年半前,我还在前面那家新创公司工作的时...... 忍不住感叹,我第一次对Buf ...

  9. java良好的编码习惯

    1. 尽量在合适的场合使用单例   使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面: 第一,控制资源的使用,通过线程同步 ...

  10. callback res.end 记得return(Javascript需要养成的良好习惯)

    错误示例: app.get('do',function(req,res,next){ getUserId(function(err,userId){ if(err){ res.end(err);//错 ...

随机推荐

  1. 小白也能弄懂的卷积神经网络(Convolutional Neural Networks )

    本系列主要是讲解卷积神经网络 - Convolutional Neural Networks 的系列知识,本系列主要帮助大家入门,我相信这是所有入门深度学习的初学者都必须学习的知识,这里会用更加直接和 ...

  2. shell小技巧(6)修改一批文件后缀

    当前目录下后缀为sh的文件,改为后缀shell. 这里列出两种方法,先看第一种.方法1:#!/bin/bash str=`find ./ -name \*.sh`  # 会产生一个列表 file=&q ...

  3. centos6.5环境下安装yum工具

    前不久因为安装数据库时动了yum安装文档中的参数,导致yum安装软件时总是出现no package等问题,决定重装yum工具. 第一步:下载原有yum安装包 [root@linux-node3 ~]# ...

  4. Require.js中的路径在IDEA中的最佳实践

    本文主要讲述require.js在IDEA中路径智能感知的办法和探索中遇到的问题. 测试使用的目录结构:一种典型的thinkphp 6的目录结构,如下图. 现在我通过在 vue-a.js 中运用不同的 ...

  5. selenium+python对表格数据的操作

    一.直接获取整个表格数据,包含表头 def table_info(self): tr_data=[] table_data=[] css='id=>useradmin'#根据表格id找到表格 s ...

  6. css的引用关系

    总结:离div标签越近,越先被引用 先在同级目录下新建一个stylesheet(是以.css结尾的)注意:link引入进来的css中,class标签也是c1,因为html中div class=c1,因 ...

  7. 源码上看 .NET 中 StringBuilder 拼接字符串的实现

    前几天写了一篇StringBuilder与TextWriter二者之间区别的文章(链接).当时提了一句没有找到相关源码,于是随后有很多热心人士给出了相关的源码链接(链接),感谢大家.这几天抽了点时间查 ...

  8. 一文带你熟悉JAVA IO这个看似很高冷的菇凉

    Java IO 是一个庞大的知识体系,很多人学着学着就会学懵了,包括我在内也是如此,所以本文将会从 Java 的 BIO 开始,一步一步深入学习,引出 JDK1.4 之后出现的 NIO 技术,对比 N ...

  9. 【答疑解惑】为什么你的 Charles 会抓包失败?

    作为一名 Web 开发工程师,天天都会和网络打交道.Charles 作为一款网络抓包工具,几乎成了 Web 开发的标配. 本文是我深度使用 Charles 后总结而成,不同于其它介绍 Charles ...

  10. 看动画学算法之:排序-count排序

    目录 简介 count排序的例子 count排序的java实现 count排序的第二种方法 count排序的时间复杂度 简介 今天我们介绍一种不需要作比较就能排序的算法:count排序. count排 ...