C++编程优化心得(持续更新)】的更多相关文章

1. 对齐原则.比如64位总线,每次寻址读取8B.编程时注意变量地址,尽量消耗总线最少的寻址次数.堆内存申请时,系统严格按照对齐原则分配,故而使用时候也尽量不要跨寻址边界. 2. 需要的时候,可为了效率拷贝代码,虽然增加了代码体积,但这是值得的.尤其是for循环,若次数比较少,拆开亦无妨. 3. 位运算中,-1右移,左边补1,故仍为-1:-1左移,右边补0,故不再为-1. 4. 每次申请的堆内存,最好初始化,里面是垃圾数据,而并非为空. 5. 项目开发中,往往一个引擎对外暴露的是一个纯虚类,而其…
参考文档1 参考文档2 函数式编程术语 高阶函数 Higher-Order Functions 以函数为参数的函数 返回一个函数的函数 函数的元 Arity 比如,一个带有两个参数的函数被称为二元函数 惰性求值 Lazy evaluation 是一种按需求值机制,它会延迟对表达式的求值,直到其需要为止 // 设置一个随机数,需要时,才会计算,每次计算都是一个不同的值 const rand = function*() { while (1 < 2) { yield Math.random() }…
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引.2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描.3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t…
1.字体Source Code Pro 出身于豪门Adobe,从名字上来看就知道是转为编码而生的.基本上也是拥有前面所提的编程字体的所有要素的.这个字体基本上具有编程字体所需的所有要素:等宽.支持ClearType.中文字体大小合适,l和1,o和0很容易区分 下载地址: http://download.csdn.NET/download/u010551118/8824117 复制到    C:\Windows\Fonts 2.SI中的自动对齐设置 在C程序里, 如果遇到行末没有分号的语句,如IF…
1:非空判断 错误例子: if(user.getUserName().equals("hollis")){ } 这段代码极有可能在实际运行的时候跑出NullPointerException.无论是user本身为空,还是user.getUserName()为空,都会抛出异常. 所以,在调用一个参数时要确保他是非空的. 上面的代码可以改为: if(user!=null&&"hollis".equals(user.getUserName())){ } 2:…
                c++语言的灵活是建立在对编程者个人的编程素质的严格要求基础上的,好的C++编程习惯能避免很多问题. 没有好的编程习惯,极有可能编写一行代码,编译器能报十几个错误,而且就算编译通过了,将来在运行过程中也会有很多莫名奇妙的问题.                 给字符串分配内存的时候,new char[]与 new char[size] 尽量用后者 下面这段代码在debug和releae模式下不出问题,但是生产环境下,有的时候不报错,有的时候报错报得能让你怀疑人生.…
最近在维护一个内部比较混乱的APP,Debug的时候遇到很多比较痛苦的地方, 因此做一个Debug记录,对以后的开发会有比较大的帮助: 这样,在开发新项目的时候就可以争取把一些BUG扼杀在襁褓中. >> 切换Debug模式和Release模式,如果你不清楚这两种模式的区别的话,你是没办法正常打包应用的! >> 把调试和发布模式对应的配置都写到一个配置文件里,方便更改! 以下内容可供参考: 1. 测试服务器和正式服务器的地址 2. 各种第三方平台接口或者SDK的AppKey等标识符…
! 查看发行版本信息 lsb_release -a uname -a   以下方法只适合redhat和centos cat /etc/redhat-release rpm -q redhat-release rpm -q centos-release   ! 关闭SHELL铃声 vi /etc/inputrc 将set bell-style none的注释取消   !日期时间修改 修改日期 date -s MM/dd/YYYY 修改时间 date -s HH:mm:ss   ! 日期时间格式化输…
1.将约束的参数先用变量保存,一定不变的设为const,在使用时不直接填入数字而是使用这些变量,这样可以很大程度上方便后续参数的修改 2.字段先用属性封装后,所有的调用都使用属性而不是字段 3.要返回两个值时,可以使用bool类型:要返回多个值时,可以使用enum类型…
一.减少打包的体积 通过vue-cli 初始化项目后,使用 npm run build 生成的JS文件往往会很大,加载时间过长导致页面长时间白屏,所以我们尽可能的使用一下方法来减少打包体积. 1.1 通过cdn 引入vue.js.vue-router 对于vue.js.vue-router.axios等静态文件来说,不需要我们去改动,就可以从cdn中引入.分两步进行: 第一步:在项目根路径的index.html中引入脚本 <script src="https://unpkg.com/vue…