2020.01-Study_update.1
2020 1月6日
First_week 1.6-1.12
- | Study_update |
---|---|
Mon. | 递增和递减运算符①,条件运算符 cond?:expr1:expr2② |
Tue. | 位运算符(未搞懂),二进制(了解),模板①,函数模板②,,sizeof运算符③,逗号运算符 |
Wed. | 类型转换(命名的强制类型转换)① |
Thur. | 简单语句,语句作用域,条件语句,if |
Fri | switch①,迭代语句while②, |
Sat | 工作… |
Sun. | 常量命名一般全大写,工作,for,typedef① |
1.6 Monday
①除非必须,否则不用递增递减运算符后置版本,因为后置版本需要存储原始值以便于返回这个未修改的内容,这会对性能有一定影响。
②条件运算符可以嵌套。但是随着嵌套的层数增加,代码可读性急剧下降。
#include "pch.h"
#include <iostream>
#include <string>
using namespace std;int main()
{cout << "请输入成绩" << endl;int input;while (cin>>input&&input<=100){string str;str = input > 90 ? "优秀" : input > 60 ? "及格" : "不及格";//条件运算符嵌套cout << str;}
}//洋葱骑士
由于条件运算符的优先级非常低,长表达式建议在两端加上括号.特别是输出表达式。
1.7 Tuesday
位运算符
位与&,位或|,位异^,位反~,左移运算符<<,右移运算符>>.
①模板
定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性。
分类:函数模板、类模板。
作用:模板用于表达逻辑结构相同,但具体数据元素类型不同的数据对象的通用行为。
理解(对比函数重载):
———重载函数:如果同一作用域内的几个函数名字相同但形参列表不同,我们称之为重载函数。这些函数接受的形参类型不一样,但是执行的操作非常类似。
1: int max(int x, int y) { return x > y ? x : y ; }
2: float max(float x, float y) { return x > y ? x : y ; }
3: double max(double x, double y) { return x > y ? x : y ; }
——— 模板:模板把类型参数化,即把上面的int/float/double定义为参数。
②
定义:函数模板,就是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。
注意:1.凡是函数体相同的函数都可以用这个模板来代替,不必定义多个重载函数。 2.在调用函数时,系统会根据实参的类型来取代模板中的虚拟类型, 从而实现了不同函数的功能。
声明形式:
template <类型形式参数表(class/typename)>
返回类型 函数名 (形参列表)
{
函数体
}
示例
#include "pch.h"
#include <iostream>
#include <string>
using namespace std;template <typename T>//函数模板的声明
T add(T a,T b)
{T res = a + b;return res;
}int main()
{int a = 1, b = 2;int res = add(a, b);//int 类型string stra = "hello ", strb = "world";string strres = add(stra, strb);//string类型cout << res << endl;cout << strres << endl;
}//洋葱骑士
当函数模板被调用时,编译器会生成相应的模板函数。
注意:
1.函数模板的声明由模板说明和函数定义组成,template为模板关键字。
2.模板说明中的类型形式参数(T)在函数定义中至少出现一次。
3.函数参数列表中可以使用类型形式参数(T),也可以使用一般类型参数(int/char等)。
4.函数模板不允许自动类型转换。
③sizeof
sizeof运算符返回一条表达式或一个类型名字所占的字节数。
运算对象有两种形式,
sizeof(type)
sizeof expr
在第二种形式中,sizeof返回的是表达式结果类型的大小,并不实际计算其运算对象的值。
1.8 wednesday
①命名的强制类型转换
cast-name< type >(expression)
其中,type是转换的目标类型而expression是要转换的值。如果type是引用类型,则结果为左值。
cast-names是static_cast,dynamic_cast,const_cast和reinterpret_cast中的一种。
1.9 Thursday
简单语句
表达式语句的作用是执行表达式并丢掉求值结果。
语句块不以分号作为结束。
1.10Friday
①Switch
switch先对括号内的表达式进行求值,表达式里的值转换成整数类型,然后与每一个Case进行比较。
如果表达式与某个case匹配成功,执行该标签后的语句,直到到达switch的结尾或者是遇到一条Break语句为止。
case关键字和它对应的值一起被称为Case标签(case label)。case标签必须是整型常量表达式。任何一个Case标签的值都不能相同,否则会引发错误,default也是一种特殊的case标签。
②while
迭代语句通常称为循环,它重复执行某个操作直到满足某个条件为止,while和for在语句在执行循环体之前检查条件,do while语句先执行循环体,然后再检查条件。
当不确定要迭代多少次时,使用while循环比较好。
1.12Sunday
①typedef
可以用来定义类型的别名。
#include "pch.h"
#include <iostream>
#include <vector>
using namespace std;int main()
{vector<int> nums;//一般声明方式。typedef vector<int> Vint;//用typedef定义Vint作为类型别名。Vint nums2;//使用Vint直接定义。
}
2020.01-Study_update.1相关推荐
- 泰坦以太(以太流说) titan_ysl 2020.01.27
泰坦以太(以太流说) titan_ysl 2020.01.27 从学习物理到现在,几十年来,我一直认为以太的存在能最合理地解释许多物理现象,但由于一直没人给于其适当的定义,导致其被废弃,从而让现代物理 ...
- Golandidea 2020.01破解版
Golandidea 2020.01 链接: https://pan.baidu.com/s/1aFKsxAIbrEeEtMYpePmtbQ 提取码: 3y9j 1.安装成功,不要运行,将jetbra ...
- 【转载】语义分割综述2020.01
转载: 作者: http://blog.csdn.net/john_bh/ 出处:https://blog.csdn.net/john_bh/article/details/107044528 论文链 ...
- 纪中集训2020.01.13【NOIP普及组】模拟赛C组总结————My First Time Write Summary
纪中集训2020.01.13[NOIP普及组]模拟赛C组总结 题目编号 标题 0 [NOIP普及组模拟]取值( numbers.pas/cpp) 1 [NOIP普及组模拟]数对(pairs.pas/c ...
- 纪中集训2020.01.16【NOIP普及组】模拟赛C组总结+【0.Matrix】分析
纪中集训2020.01.16[NOIP普及组]模拟赛C组总结+[0.Matrix]分析 题目: 0.matrix 1.product 2.binary 3.value 巨佬估分:100+100+40+ ...
- LHAPDF configure error - 2020.01.02
LHAPDF configuration error - 2020.01.02 1. What I was doing on this bloody night 1.1 Before I run in ...
- 2020.01.02 52周存钱
这个 示例是一个存钱记录 本示例涉及知识点: ①while循环实现案例 ②记录每周的存款数math库 ③用循环记录,迭代函数 ④用户灵活输入值,参数传入与全局变量 ⑤根据用户输入日期判断金额 ⑥dat ...
- linuxoracle静默安装应答文件修改_Windows7重要更新补丁安装包 2020.01.17
2020年1月14日微软官方宣布正式停止支持Windows 7(以下简称Win7),除付费政企用户外,不再提供安全补丁或者更新服务.那么以后win7的更新要怎么办?难道只能"裸奔" ...
- 《惢客创业日记》2020.01.28-02.06 惢客发展的三个阶段(上)
今天,开始分享我的想法,也可以说是"丑话说到前面"的续篇,只不过,想一次表达清楚.这篇日记不是今天写的,已经花了我近一个星期的构思时间,今天只是做一下梳理和总结.说实话,写关于惢客 ...
- WIFI安全:利用Kali自带的Aircarck-ng工具包,以及Fluxion渗透wap/wap2无线WIFI,超详细。(前言:无线网卡选择,环境详尽信息)2020.01
前言 无线网卡的选择 在Kali中,命令iw list查看网卡详尽信息或者命令lsusb查看USB接口设备. 无论我们选取哪款无线网卡做渗透测试,至少要满足以下两点:支持AP模式(可作为evil无线接 ...
最新文章
- django 数据库迁移注意事项
- 【完整代码】使用Semaphore实现线程的交替执行打印 A1B2C3D4E5
- Springboot——HelloWorld
- mpeg2,mpeg4,h264编码标准的异同
- java applet audion_java applet audion
- pythonfor循环100次_以写代学: python for循环 range函数 xrange函数
- hdu 1232 经典并查集应用
- 创建crawlspider爬虫 学习笔记
- Emacs+Lisp环境搭建
- c52语言网红楼梯流水灯程序,单片机程序-利用C52库函数实现左右流水灯
- 在线旅游网站技术讲解
- 菜菜的sklearn-01决策树完整版
- 编写程序输入年利率k(例如2.52%),存款总额total(例如100000元),计算一年后的本息并输出。
- Visual C++网络编程经典案例详解 第9章 实用播放器 编程基础 播放mp3文件 读取文件
- 第3章 Hive数据类型
- np.arange函数
- 图解|网络究竟是如何运作的?
- unity透过UI去点击物体
- 第四届vex机器人亚洲锦标赛_2019第十三届VEX亚洲机器人锦标赛在韩国开赛
- 国际通用计算机编码,ASCII 编码(美国信息交换标准代码)完整对照表