C++里容易忽视却不能忽视的
1 define 只是简单地文本替换。
2 每个机器的字长不同。
3 每个类型在不同的机器上,所占用的内存空间不同。
4 每个机器内部的字节大小端不同。
5 并不是所有的编译器或机器都支持最新的C++标准。
6 并非所有的编译器都是从右往左执行单行的多个表达式。
7 返回struct时,各个机器有不同的优化手段。因此最好使用指针或引用。
8 并非所有的运算符都可以重载,并非""不能重载。
9 并非所有的编译器都支持'\uxxx'的Unicode。
10 并非所有的默认值都为0。
11 并非所有相同的#pragram都有相同的作用。
12 并非声明了inline编译器就一定会内联。
13 重载和默认参数,肯定会冲突。int Change(int property ,int value = 0); float Change(int property);
调用Change(12);则编译器会抱怨不明确。
14 使用template是有代价的,会导致代码膨胀,编译时间长,各种各样的类型错误但却又不知道哪儿出错。
15 最新的C++标准或特性,说不定就是没用的,只能增加复杂性。
16 reinterpret_cast时,可能会失败。
17 if,switch第一个条件一定会判断,如果命中条件,则不再判断其他条件。
C++里容易忽视却不能忽视的的更多相关文章
- HighCharts官网更新了!(忠实粉的小声音)
之前用HighCharts做统计分析,用到的大部分都是柱状图和饼图,可是在HighCharts主页却摆着一个曲线图的实例,虽然从曲线图上的标记可以找到对应的API项,但是总是可能有对应不上柱状图的时候 ...
- 【Energy Big Data】能源互联网和电力大数据
背景 今年的政府工作报告突出了互联网在经济结构转型中的重要地位,报告明白指出:要制定"互联网+"行动计划,推动移动互联网.云计算.大数据.物联网等与现代制造业结合,促进电子商务.工 ...
- Lambda应用场景和使用实例
Java 8已经推出一段时间了,Lambda是其中最火的主题,不仅仅是因为语法的改变,更重要的是带来了函数式编程的思想.这篇文章主要聊聊Lambda的应用场景及其相关使用示例. Java为何需要Lam ...
- 工厂方法模式的一些思考(java语法表示)
同为创造型设计模式的简单工厂模式可以理解为对new关键字的代替. 本着重复三次即重构的原则,如果一个对象在不同的地方被new了两次以上,那就可以考虑使用它.那我们为什么要用简单工厂模式代替new呢?就 ...
- Java 8里面lambda的最佳实践
Java 8已经推出一段时间了,越来越多开发人员选择升级JDK,这条热门动弹里面看出,JDK7最多,其次是6和8,这是好事! 在8 里面Lambda是最火的主题,不仅仅是因为语法的改变,更重要的是带来 ...
- 对工厂方法模式的一些思考(java语法表示)
同为创造型设计模式的简单工厂模式可以理解为对new关键字的代替. 本着重复三次即重构的原则,如果一个对象在不同的地方被new了两次以上,那就可以考虑使用它.那我们为什么要用简单工厂模式代替new呢?就 ...
- docloud后台管理项目(前端篇)
以下内容与主题无关,如果不想看可以直接忽视 !--忽视开始--! 给大家推荐一款强大的编辑器,那就是集响应快.体验好.逼格高.功能丰富为一体的sublime text 3.它除了以上特点,还有一个最重 ...
- 北航OO第一单元作业总结(Retake)
前言:当我写这篇博客的时候,我的心情是复杂的,因为这实际上是我第二次写这篇博客--我今年重修的这门课.我对去年的成绩心有不甘--在激烈的竞争下,我虽然尽可能完成了所有作业(仅一次作业未通过弱测),但爆 ...
- HDFS的命令行操作
1.namenode –format:格式化DFS 文件系统 2.secondaryNameNode: 运行DFS的 SecondaryNameNode 进程 hadoop secondaryname ...
随机推荐
- ural 1748 The Most Complex Number 和 丑数
题目:http://acm.timus.ru/problem.aspx?space=1&num=1748 题意:求n范围内约数个数最多的那个数. Roughly speaking, for a ...
- 问题-Delphi不能进行调试模式
问题现象:delphi不能进行调试模式 问题原因:可能是防火墙的原因,我有一次在电脑清理时,把delphi的调试程序名放在了360的黑名单中,按F9后,无法调试. 问题处理:你懂的(要不白名单,要不你 ...
- URAL 1994 The Emperor's plan 求组合数 大数用log+exp处理
URAL 1994 The Emperor's plan 求组合数 大数用log #include<functional> #include<algorithm> #inclu ...
- 如何将Android默认的Camra程序导入到eclipse中
由于工作需要将camera源码导入到Eclipse中,找了很多的方法,现将自己的整理发出来.... 由于开发的要求,需要将Android默认的Camra程序导入到eclipse中,进行修改和再开发. ...
- PowerDesigner实用方法小结(1)
PowerDesigner使用方法小结 PowerDesigner多用来进行数据库模型设计,具有SQL语句自动生成等功能.当然,也有不少缺点,比如团队分享. 一.设置PowerDesigner模型视图 ...
- salt-minion安装脚本
#!/bin/bash cd /usr/local/src/ wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.no ...
- Jquery UI 组合树 - ComboTree 集成Wabacus4.1 代码剖析
Jquery UI 1.3 (组合树 - ComboTree ) 集成Wabacus4.1 集成Spring 代码剖析 使用时,请下载需要Jquery ui包进行配置 combotree.js 的代码 ...
- Android开发_Gson解析
//转换器 GsonBuilder builder = new GsonBuilder(); // 不转换没有 @Expose 注解的字段 builder.excludeFieldsWithoutEx ...
- 常用加密算法的Java实现(一) ——单向加密算法MD5和SHA
1.Java的安全体系架构 1.1 Java的安全体系架构介绍 Java中为安全框架提供类和接口.JDK 安全 API 是 Java 编程语言的核心 API,位于 java.sec ...
- Windows Mobile 6.0 SDK和中文模拟器下载
[转] Windows Mobile 6.0 SDK和中文模拟器下载 Windows Mobile 6.5 模拟器 2010年12月06日 星期一 07:48 转载自 zhangyanle86 终于编 ...