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#学习笔记》
前言 起初开始写博文主要是记录学习过程中对学到内容的自我总结和理解,同时也希望本人的理解可以帮助到一些走在学习路上的朋友.但是令我没有想到的是,我总结的博文得到了广大园友的评论和支持,正是博友的支持, ...
随机推荐
- Java学习日记-12 集合(2)
一.List<E>接口(超级接口Collection,List比Collection多重载了一些索引作为形参的方法)1.实现类ArrayList\LinkedListArrayList顺序 ...
- 《Linear Algebra and Its Applications》-chaper2-矩阵的逆
矩阵的逆: 逆矩阵的定义: 类比于我们在研究实数的时候回去讨论一个数的倒数,对应的,在矩阵运算中,当AB = I的时候,A,B互称为逆矩阵,这里的I类似实数中的1,表示单位矩阵,即对角线是1其余位置是 ...
- Ubuntu下配置smb服务器
一. samba的安装: sudo apt-get insall samba 二. 创建共享目录: mkdir /home/user/share sodu chmod 777 /home/user/s ...
- L1签证_百度百科
L1签证_百度百科 L1签证
- java中的Package语句和import语句
在实际项目中会有成百上千个类,我们把近似的类放在同一个包里面,比如把实体类放在实体类包里面 package 为解决类的 命名冲突问题而引入的机制. package语句作为Java源文件的第一条语句 ...
- WPF自定义数字输入框控件
要求:只能输入数字和小数点,可以设置最大值,最小值,小数点前长度,小数点后长度(支持绑定设置): 代码如下: using System; using System.Collections.Generi ...
- javascript 分离全局变量
当要编写一段javascript模块代码是, 这段代码将要在用在各种javascript程序中(就是各种各样的网页中), 为了让这段代码不与原来的代码起冲突,解决方法就是将代码放在一个函数(funct ...
- Java发送邮件的简单实现
使用Oracle官方的JavaMail进行实现,JavaMail下载地址:https://java.net/projects/javamail/pages/Home 将下载好的jar包加入到工程路径中 ...
- MySQL高可用基础之keepalived+双主复制【转】
环境:MySQL-VIP:192.168.1.3MySQL-master1:192.168.1.1MySQL-master2:192.168.1.2 OS版本:CentOS release 6.4 ( ...
- Qt Sqlite封装类SqliteUtil
在网上找了很久关于Qt访问Sqlite数据库的封装类,但是没能找到一个很好的访问调用类,自己写了一个出来,在这里分享一下,希望能对大家有所帮助,小弟不才,写代码没多少经验,如果有什么不恰当之处,请批评 ...