一 关于浮点数:

1.1浮点数是否等于0判断:因为浮点数都有精度,不能拿浮点数直接和0.0f进行比较,而应该采用以下方法:

if (f32Data == 0.0f) // 隐含错误的比较

#define AFX_F32_EPSINON 1.0e-6 //全局 f32的浮点数精度
#define AFX_F64_EPSINON 1.0e-14 //全局 f32的浮点数精度

#define AFX_F32_IS_ZERO(f32Data) ((f32Data >=- AFX_F32_EPSINON) \
                && (f32Data <= AFX_F32_EPSINON))
#define AFX_F64_IS_ZERO(f64Data) ((f32Data >=- AFX_F64_EPSINON) \
                  && (f32Data <= AFX_F64_EPSINON))
使用时: if(AFX_F32_IS_ZERO(f32Data))
{ }

1.2浮点数避免除法运算,应该尽量转为乘法或其它方法:R=周长/2PI;

#define PAI_RECIPROCAL (1 / 3.1416 ) // 编译器编译时,将生成具体浮点数
f32Radius = f32CircleLength * PAI_RECIPROCAL / 2;

二 程序的优化:

2.1 一个学生的结构体包含姓名 年龄 班级  各科成绩;可以将各科成绩单独设置一个结构体,然后和学成基本信息结构体之间通过一个索引(主键)建立关系,这样在不需要成绩时就不用定义很大的浮点数据类型。

三函数:

3.1若函数不写返回值,默认是整形的,而不是VOID;尽量为函数定义返回值虽然有时候用不上,但大多数场合费用有用:可以作为右值赋值或者判断。

四 指针:指针数组(存放指针的数组)、数组指针(指向数组的指针)、常量指针与指针常量、this指针:

先从变量名开始读,然后看变量名紧跟的运算符的优先级,即可完成解读。https://www.cnblogs.com/yangguang-it/p/6394332.html

4.1

C/C++规范学习:的更多相关文章

  1. 公司C++规范学习

    目录 公司C++规范学习 语法部分 风格/约定 公司C++规范学习 语法部分 class和struct关键字的选择:class表示被封装的用户自定义类型,不公开定义非静态数据成员,struct表示数据 ...

  2. 阿里java开发规范学习(附P3C IDEA插件 帮助规范的养成)

    浅析 阿里巴巴 Java 开发规约 (未完成) 更加优秀的页面展现请到浅析 阿里巴巴 Java 开发规约 contents 为什么要学 编程规约 P3C IDEA 插件 why-use 我们知道,一般 ...

  3. W3C规范学习

    w3c:万维网联盟(World Wide Web Consortium,W3C),又称W3C理事会.W3C组织是对网络标准制定的一个非赢利组织,W3C是万维网联盟的缩写,像HTML.XHTML.CSS ...

  4. NFC规范学习之一 ---整体结构

    1.NFC 采用两个感应线圈进行数据交互,其中至少必须有一个设备产生13.56MHZ的磁场,该场被调制以方便数据传输.通讯中,一个设备处于initiator模式(就是发起通讯)另外一个设备则工作在ta ...

  5. AMD规范学习笔记

    背景 NodeJS的一套比较简洁 Moudles 规范, 使得在服务器端的模块化变得更加简单.很长一段时间,很多公司或者项目都有自己的一套模块化机制, 却未能形成一套统一的标准, NodeJS的Mou ...

  6. SpringCloud入门之YAML格式文件规范学习

    1. 认识 YAML YAML(发音 /ˈjæməl/)是一个类似 XML.JSON 的数据序列化语言.其强调以数据为中心,旨在方便人类使用:并且适用于日常常见任务的现代编程语言.因而 YAML 本身 ...

  7. Web Components 规范学习

    最新的规范在这里:http://w3c.github.io/webcomponents/explainer/ 依据规范,有以下四个组成部分: Templates Custom Elements Sha ...

  8. PSR规范学习笔记

    PSR已经经历了5次变革,如今PSR4就是最新的标准,但是还是有必要了解下5个版本的内容的,于是去php-fig网站看了下英文原版: 大概看了遍,发现这规范很多的必须很多时候只是建议,但是PHP解析器 ...

  9. JSR133规范学习

    最近在看多线程相关的东西,通过阅读JSR133的faq来加深自己对多线程的理解,里面大部分的内容比较简单(越到后面越难),但是有的部分比较难以理解还没有完全弄懂,所以这里只记录了一下比较简单的阅读笔记 ...

  10. Promise/A+规范学习总结

    Promise的实现:因为他只是一个规范,所以在不同的框架或者平台下有不同的实现 Angular:$q服务 Node:q模块,co,then Es6:Promise, yield Es7:async ...

随机推荐

  1. Spring Boot中使用RabbitMQ

    很久没有写Spring Boot的内容了,正好最近在写Spring Cloud Bus的内容,因为内容会有一些相关性,所以先补一篇关于AMQP的整合. Message Broker与AMQP简介 Me ...

  2. spring扩展点之四:Spring Aware容器感知技术,BeanNameAware和BeanFactoryAware接口,springboot中的EnvironmentAware

    aware:英 [əˈweə(r)] 美 [əˈwer] adj.意识到的;知道的;觉察到的 XXXAware在spring里表示对XXX感知,实现XXXAware接口,并通过实现对应的set-XXX ...

  3. Python-Redis的Set操作

    集合为不重复的列表 无序集合 sadd(name,values):在name对应的集合中添加元素 smembers(name):获取name对应的集合的所有成员 127.0.0.1:6379> ...

  4. mybatis 学习一 总体概述

    mybatis使用起来不复杂,大体上来说,就是将db连接信息,所有的sql语句信息,都放到配置文件里面,然后去读配置信息,根据db信息,创建好session工厂,然后拿到sqlsession回话之后, ...

  5. PopupWindow 从底部弹出窗体

    第一步  : 初始化PopupWindow private void initPop() { if (view == null) { // 照片 view = View.inflate(Registe ...

  6. hdu1077

    #include<iostream> #include<cmath> using namespace std; struct Point { double x,y; }; do ...

  7. IOS开发学习 碎片S

    非常感谢提供一下内容的人和组织! 字符串编码:http://www.cnblogs.com/KevinYang/archive/2010/06/18/1760597.html Foundation框架 ...

  8. 关于js模板引擎template的使用记录

    引言 有一天在群里有一个人发了这么一个图片 看到这个就会发现2个问题,一个是后期如果html结构改变了,这一大块都要重写.还有一个就是写的时候自己都看不清,很容易出错. 然后还有一个人写的清楚一点,但 ...

  9. 在Android中使用FlatBuffers(上篇)

    本文来自网易云社区. 总览 先来看一下 FlatBuffers 项目已经为我们提供了什么,而我们在将 FlatBuffers 用到我们的项目中时又需要做什么的整体流程.如下图: 在使用 FlatBuf ...

  10. Note: Eleos: ExitLess OS Services for SGX Enclaves

    Eleos increased I/O and memory intensive SGX program execution performance with In-enclave system ca ...