寒假学习笔记(1)

2018.2.7

常变量 const

  • const 数据类型 常变量名=初始值;
  • 使用const关键字指定常变量;
  • 定义时必须初始化;
  • 不能再次被赋值;
  • 用const定义与用define定义的区别:
    区别1
    define是宏定义,程序在预处理阶段将用define定义的内容进行了替换。因此程序运行时,常量表中并没有用define定义的常量,系统不为它分配内存。
    const定义的常量,在程序运行时在常量表中,系统为它分配内存。
    区别2
    define定义的常量,预处理时只是直接进行了替换。所以编译时不能进行数据类型检验。
    const定义的常量,在编译时进行严格的类型检验,可以避免出错。
    区别3
    define定义表达式时要注意“边缘效应”,例如如下定义:
    #define N 2+3 //我们预想的N值是5,我们这样使用N
    int a = N/2; //我们预想的a的值是2.5,可实际上a的值是3.5
    原因在于在预处理阶段,编译器将 a = N/2处理成了 a = 2+3/2;这就是宏定义的字符串替换的“边缘效应”因此要如下定义
    #define N (2+3)
    const定义表达式没有上述问题
    const定义的常量叫做常变量原因有二:
    1,const定义常量像变量一样检查类型。
    2,const可以在任何地方定义常量,编译器对它的处理过程与变量相似,只是分配内存的地方不同(常量在静态区,变量在栈区)。

引用

  • 引用类型&引用变量名=被引用变量;
  • 被引用变量必须是一个已经定义的变量;
  • 引用变量和被引用变量共用内存;
  • 引用传递(1):引用传递将被调函数的形参定义成主调函数中实参变量的引用,被调函数通过该引用间接访问主调函数中的变量;
  • 引用传递(2):实际上修改的是实参,也就是说这是一种双向数据传递机制。不同于值传递的单向性;

特殊函数

  • 带默认形参值的函数;

    • 带默认值的形参必须定义在形参列表的后面;
  • 重载函数;
    • 如果两个函数的形参个数不同,或数据类型不同,那么这两个函数就可以重名,称为重载函数。
  • 内联函数(inline);
    • 编译源代码时将函数代码直接嵌入到每一个调用语句处,而在执行时不再进行函数跳转和数据传递。
    • 只能是简单函数,复杂函数会以非内联形式出现。


寒假学习计划

原文地址:https://www.cnblogs.com/pullself/p/8428760.html

时间: 2024-08-03 17:37:02

寒假学习笔记(1)的相关文章

寒假学习笔记(4)

2018.2.11 类中的常成员 关键字const,在类定义中声明数据成员使用关键字限定,声明时不能初始化. 初始化列表,类中的任何函数都不能对常数据成员赋值,包括构造函数.为构造函数添加初始化列表是对常数据成员进行初始化的唯一途径. 定义对象时初始化.定义含常数据成员类的对象时需要初始化,给出常数据成员的初始值. 函数声明:double Getcost() const; 常函数成员只能读类中的数据成员,不能赋值修改. 常函数成员只能调用其它常函数成员. 通过常对象只能调用其常函数成员. 类中的

Haddop学习笔记

新学期开始了,在学校的日子开始倒计时~~~有点矫情了. 寒假在广州呆了一个月,没做什么,出去转了一圈,依然不知道找工作的事水有多深.期间看了一篇博文,感触良多.此前虽然钻研过不少技术,但是说白了就是CURD,没意思,没技术含量.早就打算坐下来看看Hadoop,但是一直没有找到合适的资料,昨天终于搜集到一份比较完整的,就此开始Hadoop的学习~~共勉!! 学习视频下载地址 http://pan.baidu.com/share/link?shareid=1338450930&uk=35740164

数据库系统概论学习笔记-第一章绪论

数据库系统概论-第一章绪论 写在前面:寒假来临,除却走亲戚和同学聚餐,王者荣耀等游戏上分花销一点时间之外,自认为要花一点时间学习数据库和Android,以此来为下学期和共建项目打下一丢丢的基础.为了鞭策自己,定了一个小目标( 一个亿),每个两至三天我会发表一篇数据库或Android学习笔记.还是那句话你的才华撑不住你的野心时,那就静下来学习吧 . 数据库系统概述 数据库常用的术语和基本概念 数据库基本概念 数据(Data) 数据是数据库中存储的基本对象,可以对数据做如下定义:描述事物的符号记录称

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件

HTML&CSS基础学习笔记8-预格式文本

<pre>标签的主要作用是预格式化文本.被包围在 pre 标签中的文本通常会保留空格和换行符.而文本也会呈现为等宽字体. <pre>标签的一个常见应用就是用来表示计算机的源代码.当然你也可以在你需要在网页中预显示格式时使用它. 会使你的文本换行的标签(例如<h>.<p>)绝不能包含在 <pre> 所定义的块里.尽管有些浏览器会把段落结束标签解释为简单地换行,但是这种行为在所有浏览器上并不都是一样的. 更多学习内容,就在码芽网http://www.