一个c++小问题的优化
来源:互联网 发布:淘宝衬衫描述怎么写 编辑:程序博客网 时间:2024/05/02 07:46
原要求见博客《有关野指针及c++其他问题小结(一)》
对于increaseDate的实现
我的代码实现复杂度过高。
void IncreaseDate(Date* date){ int year_ = date->year; int month_ = date->month; int day_ = date->day; int everyMonth[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; if(day_ < everyMonth[month_ - 1]) { day_++; } else { if(month_ == 2 && ((year_ % 4 == 0 &&year_ % 100 != 0 )||year_ % 400 == 0) ) { if(day_ == 28) day_ = 29; else { day_ = 1; month_++; } } else { day_ = 1; if(month_ < 12) month_++; else { month_ = 1; year_++; } } } date->year = year_; date->month = month_; date->day = day_;}
但是这里一种很好的实现,希望以后在类似的问题上好好地。
void Date::increment() { ++day_; if (day_ > daysOfMonth(year_, month_)) { day_ = 1; ++month_; if (month_ > 12) { month_ = 1; ++year_; } }}
引以为戒
0 0
- C的一个小问题
- 一个c++小问题的优化
- 学C++遇到的一个小问题
- 一个郁闷的C语言小问题
- C关于字符串的一个小问题
- 记C的一个小问题
- c语言的printf一个小问题
- 关于C语言的一个小问题
- AMDD 一个把大问题分成小问题的优化算法
- 一个小算法的优化
- 关于《c语言的一个小问题》的补充
- 关于C++的一个小问题
- c中赋值类型匹配的一个小问题
- 【C语言】一个关于if的小问题
- c语言中的一个小问题
- C语言中一个小问题
- 一个小并发服务器的代码优化
- 一个不起眼的小问题
- 107课的主要内容
- 系统学习PHP的一些思路
- vmware里的centos虚拟机无法上网(一)
- 很有用的PHP笔试题
- linux c语言使用sim900打电话发短信
- 一个c++小问题的优化
- 操作系统引论 学习笔记
- pom.xml基础配置
- 第七届蓝桥杯省赛Java语言C组_小题答案
- Python多线程入门指南
- 图像处理特征不变算子系列之KLT算子--GoodFeaturesToTrack(七)
- obj-y,obj-m 区别
- 102. Binary Tree Level Order Traversal
- Caffe学习日记6