1.4 以查询取代临时变量
【1】源代码
1 class WTP 2 { 3 public: 4 WTP(double dPrice = 1, double dQuantity = 10) 5 : m_dPrice(dPrice) 6 , m_dQuantity(dQuantity) 7 {} 8 9 double getDiscount(); 10 11 private: 12 double m_dPrice; 13 double m_dQuantity; 14 }; 15 16 double WTP::getDiscount() 17 { 18 double dAmount = m_dQuantity * m_dPrice; 19 if (dAmount > 1000) 20 { 21 return (dAmount * 0.95); 22 } 23 else 24 { 25 return (dAmount * 0.98); 26 } 27 }
【2】以查询取代临时变量
1 class WTP 2 { 3 public: 4 WTP(double dPrice = 1, double dQuantity = 10) 5 : m_dPrice(dPrice) 6 , m_dQuantity(dQuantity) 7 {} 8 9 double getDiscount(); 10 11 private: 12 double getAmount(); 13 14 private: 15 double m_dPrice; 16 double m_dQuantity; 17 }; 18 19 double WTP::getDiscount() 20 { 21 if (getAmount() > 1000) 22 { 23 return (getAmount() * 0.95); 24 } 25 else 26 { 27 return (getAmount() * 0.98); 28 } 29 } 30 31 double WTP::getAmount() 32 { 33 return (m_dPrice * m_dQuantity); 34 }
【3】总结
以一个临时变量保存某一表达式的运算结果。将这个表达式提炼到一个独立函数中。
将这个临时变量的所有引用点替换为对新函数的调用。此后,新函数就可以被其他函数使用。
Good Good Study, Day Day Up.
顺序 选择 循环 总结
转载于:https://www.cnblogs.com/Braveliu/p/7339556.html
1.4 以查询取代临时变量相关推荐
- Replace Temp with Query(以查询取代临时变量)
一个临时变量保存某一个表达式的运算结果 double basePrice = quantity * itemPrice; if (basePrice > 1000) {return basePr ...
- oracle查询时定义临时的变量,oracle学习笔记之临时变量的使用
在oracle中临时变量可以用&|&& name 的格式代表临时变量使用& 和使用&& 是有区别的 以下是一个不使用临时变量的查询语句: SQL&g ...
- postgres 显示变量_sql - 如何在PostgreSQL查询中声明变量
sql - 如何在PostgreSQL查询中声明变量 如何声明变量以用于PostgreSQL 8.3查询? 在MS SQL Server中,我可以这样做: DECLARE @myvar INT SET ...
- @Transient 实体类临时变量
使用Hibernate+JPA开发,实体类与数据库表映射,但今天遇到了需要从前台接收一个参数,对应模糊查询数据库的两个字段,所以只能新建一个临时变量来接收前台传过来的参数,又写入数据库.这种情况就可以 ...
- 记一次由于临时变量导致的CPU使用率过高问题
目录 问题 问题发现过程 问题解决 问题 在上一篇博文[内存泄漏]一个现网问题告诉你血淋淋的事实:java内存泄漏很严重处理了由于打开资源后没有及时释放,导致内存使用率居高不下的问题(35.80%降至 ...
- bug诞生记——临时变量、栈变量导致的双杀
这是<bug诞生记>的第一篇文章.本来想起个文艺点的名字,比如<Satan(撒旦)来了>,但是最后还是想让这系列的重心放在"bug的产生过程"和" ...
- c语言中变量有什么作用是什么,C语言里面局部变量和临时变量有什么区别?
typedef extern static _Thread_local register 其中,除了 typedef (放在这里仅仅是为了描述语法方便),其它几个(配合变量声明的位置)描述了的变量的 ...
- 交换数字(不用临时变量)
编写一个函数,不用临时变量,直接交换numbers = [a, b]中a与b的值. 示例: 输入: numbers = [1,2] 输出: [2,1] 示例代码: class Solution(obj ...
- 【C语言刷题】交换两个变量(包含不创建临时变量)的解法
目录 一.常规方法(引入空瓶变量) 二.题目要求,不允许创建临时变量 2.1 通过两数加法实现交换 2.2 按位异或操作符实现交换 题目:写代码实现两个变量的交换.(不允许创建临时变量) 一.常规方法 ...
最新文章
- SAP SD-如何控制定价折扣的总额度
- linux安装node js的二进制文件安装方式的注意事项
- Java虚拟机 —— 垃圾回收机制
- pcf8951 ad/da(iic)转换模块 在 esp8266下的实现
- 设置硬盘休眠linux,linux笔记本设置休眠
- 日本画风超级“诡异”毕业典礼上线,网友:有被吓到,谢谢!
- html试题及答案,HTML试题及答案
- 部署一个Windows Server 2008 的只读域控制器
- Intel 64/x86_64/IA-32/x86处理器 - 指令格式(2) - 8086/16位指令格式概述
- MySQL 5.6 dump/load buffer pool实验
- 怎么让envi中影像背景为0_eCogniton波段权重设置——基于ENVI的波段信息量计算
- if语句、逻辑表达式、运算符
- Golang环境windows 设置 GOROOT 和 GOPATH
- 2012年8月编程语言就业趋势
- 【Python】MySQLdb库的使用以及格式化输出字段中的值
- 前端页面模拟浏览器搜索功能Ctrl+F实现
- 【已注册】充QQ业务软件
- max2 android9.0,乐视max2 安卓9.0刷机包
- vue 首屏优化加载(三)(CND引用)
- Linux系统文件服务