c++学习笔记和思考
1、内置类型:int float等编程语言自己定义的类型
类类型:自己声明的类,即是对对象的抽象
2、const double *cp 表示cp是指向一个const类型double类型数据的指针,而非是const指针
类中形参函表后面的const反应在类中声明成员函数的形式
3、typedef string *pstring;
const pstring cstr; //该声明是把cstr定义为指向string类型对象的const指针,其中const 修饰的是pstring 。等价于 string *const cstr;
const指针可以放在类型前也可以放在类型后 string const s1; const string s2;
4、严格地说,c++没有多维数组,通常所知的多维数组就是数组的数组
5、switch结构,只能在它的最后一个case标号或default标号后面定义变量 是为了避免出现代码跳过变量的定义和初始化的情况。在这种情况下,如果需要为某个特殊的case定义变量,可以引入块语句。因为变量会在块结束前一直存在。
6、*dest++=*source++;等价于:
{
*dest=*source;
++dest;++source;
}
7、非引用新参表示对应实参的局部副本,说白了也就是变量作用域的问题 指针可以修改对应的值
与所有引用一样,引用形参直接关联到其所绑定的对象,而并非这些对象的副本
引用:作为函数参数和返回函数左值
8、引用型参数应该在能被定义为const的情况下,尽量定义为const 声明引用时,必须同时对其进行初始化
9、类的所有成员都必须在类定义的花括号里面声明,此后,就不能再为增加任何成员。类的成员函数既可以在类的定义内也可以在类的定义外定义。编译器隐式地将在类内定义的成员函数当做内联函数。类的成员函数可以访问该类的private成员
10、有多个初始化时不能使用复制初始化,合成的默认构造函数不会自动初始化内置类型的成员
11、形参与const形参的等价性仅适用与非引用形参,const的形参主要用于指针和引用参数 临时对象都是const型
12、引用总结: const 类型标识符 &变量名()
引用类型参数应该在能被定义为const的情况下,尽量定义为const
引用返回函数值:
类型标识符 &函数名(形参列表及类型说明)
{函数体}
用引用返回函数值最大的好处是在内存中不产生被返回值的副本
引用作为返回值,遵守的规则:
(1)不能返回局部变量的引用(2)不能返回函数内部new分配的内存的引用(3)可以返回类成员的引用,但最好是const(4)引用与一些操作符的重载
13、类成员函数后加const 是为不改变数据成员
c++学习笔记和思考的更多相关文章
- python学习笔记(四) 思考和准备
一.zip的坑 zip()函数接收多个可迭代数列,将数列中的元素重新组合,在3.0中返回迭代器指向 数列首地址,在3.0以下版本返回List类型的列表数列.我用的是3.5版本python, 所以zip ...
- C++ Primer 学习笔记与思考_7 void和void*指针的使用方法
(一)void的含义 void的字面意思是"无类型",void差点儿仅仅有"凝视"和限制程序的作用,由于从来没有人会定义一个void变量,让我们试着来定义: v ...
- C++ Primer 学习笔记与思考_3 ---头文件那些事儿(extern)
(一)extern在头文件里的使用方法 由于头文件包括在多个源文件里.而且变量的定义仅仅能出现一次,所以在头文件里. 仅仅能够声明不能够出现定义. 我们能够在头文件里用extern声明全局变量,这样在 ...
- JavaScript权威设计--JavaScript函数(简要学习笔记十)
1.函数命名规范 函数命名通常以动词为前缀的词组.通常第一个字符小写.当包含多个单词时,一种约定是将单词以下划线分割,就像"like_Zqz()". 还有一种就是"lik ...
- SQLServer学习笔记系列1
一.前言 一直自己没有学习做笔记的习惯,所以为了加强自己对知识的深入理解,决定将学习笔记写下来,希望向各位大牛们学习交流! 不当之处请斧正!在此感谢!这边就先从学习Sqlserver写起,自己本身对数 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 【工作笔记】BAT批处理学习笔记与示例
BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...
- 3年的坚持,最终造就著作——《Learninghard C#学习笔记》
前言 起初开始写博文主要是记录学习过程中对学到内容的自我总结和理解,同时也希望本人的理解可以帮助到一些走在学习路上的朋友.但是令我没有想到的是,我总结的博文得到了广大园友的评论和支持,正是博友的支持, ...
随机推荐
- js获取当前页面的url中id
function UrlSearch() { var name, value; var str = location.href; //获取到整个地址 var num = str.indexOf(&qu ...
- js:jquery multiSelect 多选下拉框实例
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- android ViewPager具体解释
Viewpager 在android界面布局中属于经常使用类型 ,它能够做导航,页面菜单,进入软件是的欢迎界面 等等.比方今最流行的几款手机软件 ,QQ,微信,微博 等 ,其主界面 都用到了View ...
- PHP5.4的变化关注---What has changed in PHP 5.4.x(转)
What has changed in PHP 5.4.x Most improvements in PHP 5.4.x have no impact on existing code. There ...
- js window.open()弹出窗口参数说明及居中设置
window.open()可以弹出一个新的窗口,并且通过参数控制窗口的各项属性. 最基本的弹出窗口代码 window.open('httP://codeo.cn/'); window.open()各参 ...
- Linux下查看显示器输出状态以及修改显示器工作模式(复制 or 扩展)
//关闭显示器VGA1xrandr --output VGA1 --off //开启显示器VGA1xrandr --output VGA1 --auto //关闭显示器LVDS1xrandr --ou ...
- Shell基本的命令
ubuntu 中文乱码 如果使用的是 PuTTY,可以通过修改 font, character set 设置来解决. Window -> Appearance -> Font settin ...
- Python基础----函数
1.作用域: 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 1==1: name = 'wupeiqi' print name 下面的结论对吗? 外层变量,可以被内 ...
- eclipse导入或新建项目时报错 v7 v4
最简单的解决方案 最简单的解决方案 1.下载最新的v4,v7的jar包 http://download.csdn.net/download/u013161218/80772472.放到workspac ...
- Wijmo 日历插件
说明: 因为项目(OA)的需要,我负责开发日程的模块,相信大家用过谷歌的日历了吧,是不是觉得挺好用,但又苦于无法实现? 这里告诉你一个很好的插件,Wijmo,而里面有一个类似谷歌的日历事件插件,真的很 ...