C++学习-7
1.面向过程是:数据与操作分离,数据容易被意外修改
2.面向过程通过私有化的权限进行数据封装
3.类型后辍:类名 operator “” _XXXX(int data) 增加后缀
{
Return {(unsigned int)data};大括号给结构体初始化
传进来的参数要和原数据类型一致的参数类型一致
}
Operator””属于文件运算符(char,wchar_t,char16_t,char32_t,unsigned long long)
文本后缀只能放在外部
走法:为类赋值的时候,要的一种格式,然后内部通过operator “” _XXXX(int data)的返回值进行转换
4.auto*p=nullptr;不可以
auto xx=new auto(1) xx为int*,对应类型的指针
auto的推到是从左向右
auto不适用于数组
auto可以指向一个数组
5.用lambda做递归的时候捕获列表要是& [&](){}
一般都是用函数包装器把lambda进行包装再调用,毕竟lambda是匿名函数
6._func_取出函数名的宏
对于函数重载了得,在调用的时候一定要明确调用哪一个
7.对于一个函数名而言,add,*add,&add地址都是一样的(调用的时候都打括号)
8.对函数指针decltype只是把函数头获取了,并没有获取函数实体,需要进行初始化
因为函数代码被优化成了共享,尽量避免拷贝浪费一模一样的函数,代码块肯定是需要共享的,
所以必须是引用或者指针类型才可以完整的实例化函数指针(就是浅拷贝的感觉)
9.nullptr不是指针类型,自定义的一个类型表示空指针
10.指针数组:
int*p = new int[10];指向一维数组的指针
int **pp = new int *[10];指向一维数组指针的二维指针(行指针)
int(*px)[4] = (int(*)[4]) new int[20];二维数组,四个数组,每个里面5个
int *(*py)[4] =(int *(*)[4]) new int *[20];
11.每一个N级指针都可以开辟n-1级指针数组
12.对多维数组与多重指针的深入总结:
Int***ppp初始化好了之后,是从外往里走的
13.共用体里面是不能放类,new(&str)string,调用string的构造函数,析构:str.~basic_string()
Union内部如果有自定义的类有自己的构造函数,union使他原来的构造析构定义为删除的,必须自己实现
14.原则上struct只要new的时候,都需要有构造函数,引用其他的类,基本构造函数就要重写
15.<retio>分数 ratio<1,2> er 这个是一种类型 den分母,num分子
16. 委托构造的好处:
1.可以分工明确,让一个专门的构造函数去负责开辟内存,别的负责其他任务
2.实现封装,可以把最总体的那个权限设为private,别的晓得作为借口
17.函数模板
1.模板是数值:
一般作为一个特定的值,传入到函数中,这个值总在变化,但是用的很多。
必须把书放进去
2.模板是类型:
通用版,一般都是根据数据进行推断,
要用函数模板初始化一个函数指针的时候,类型必须是确定的
用模板赋值的时候,要么有值可以推断,要么你就<>特例化模板
总结就是:判断模板加不加<>的依据就是,在使用的时候模板的类型一定要是可推断的,要么你就必须给了
18. int(*px)[4] = (int(*)[4]) new int[20]; 可以
int(*px)[4] = new int[20];不行
对于一片内存来说:类型的不一样就伴随着解析方式的不同,必要的时候需要强转
C++学习-7的更多相关文章
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- Angular2学习笔记(1)
Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 消息队列——RabbitMQ学习笔记
消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Unity3d学习 制作地形
这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...
- 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...
- 菜鸟Python学习笔记第一天:关于一些函数库的使用
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
随机推荐
- UVALive - 3027 Corporative Network (并查集)
这题比较简单,注意路径压缩即可. AC代码 //#define LOCAL #include <stdio.h> #include <algorithm> using name ...
- OpenCV 之 空间滤波
1 空间滤波 1.1 基本概念 空间域,在图像处理中,指的是像平面本身: 空间滤波,则是在像平面内,对像素值所进行的滤波处理. 如上图所示,假设点 (x, y) 为图像 f 中的任意点,中间正方形 ...
- 《Java编程思想》读书笔记
前言 这个月一直没更新,就是一直在读这本<Java编程思想>,这本书可以在Java业界被传神的一本书,无论谁谈起这本书都说好,不管这个人是否真的读过这本书,都说啊,这本书很好.然后再看这边 ...
- springMVC,spring,mybatis全注解搭建框架--第一步,让框架跑起来
自己从事java开发工作也有一年多了,自己却没有亲手搭建一个完整的框架.于是今天自己动手搭建一个,过程中遇到一些问题,倒腾了大半天终于搞定了. 现在给大家分享一下过程,自己也记录下来,以后学习参考使用 ...
- Service IP 原理 - 每天5分钟玩转 Docker 容器技术(137)
Service Cluster IP 是一个虚拟 IP,是由 Kubernetes 节点上的 iptables 规则管理的. 可以通过 iptables-save 命令打印出当前节点的 iptable ...
- 一步一步创建ASP.NET MVC5程序[Repository+Autofac+Automapper+SqlSugar](十)
前言 朋友们, 大家好,我还是Rector,写ASP.NET MVC 5系列文章[一步一步创建ASP.NET MVC5程序Repository+Autofac+Automapper+SqlSugar] ...
- 网络基础Cisco路由交换三
热备份路由协议HSRP:Cisco私有协议 确保了当网络边缘设备或接入链路出现故障时,用户通信能迅速并透明地恢复,以此为ip网络提供余性,通过使用同意虚拟ip地址和虚拟mac地址,LAN网段上的两台或 ...
- 【前端】jQuery移动端左滑删除
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/left_slide_menu.html <!doctype html> <html> &l ...
- 读取含有BOM头的文件遇到的问题
需求是读取一个csv文件,然后解析成对应的数据结构.csv必须包含指定的某些列,通过列名header来进行校验. 解析配置文件的方法. public List<QuestionData> ...
- 最新的Android版本和API Level的对应关系表
在项目开发过程中,经常会用到API Level和Android平台版本的对照,来进行一些方法的调用,现在就把对照表贴出来,供开发人员参考,并且方便自己查阅. Platform Version API ...