[读书笔记] Effective C++

部分条款过于深奥,部分条款已了然于心,仅记录当下所识所学

条款02:尽量以const,enum,inline替换#define

对于常量宏定义,最好用const代替#define
对于函数宏定义,最好用inline代替#define
#include、#ifdef、#ifndef仍被需要

条款03:尽可能使用const -*

条款04:确定对象被使用前已先被初始化

内置对象记得手动初始化
使用成员初始列替换赋值操作
以local static替换non-local static 单例模式

条款07:为多态基类声明virtual析构函数

任何class只要有virtual函数都几乎确定应该也有一个virtual析构函数
只有当class内含至少一个virtual函数,才为它声明virtual析构函数

条款13:以对象管理资源

这样可以保证资源“在构造期间获得,在析构期间释放”

条款20:宁以pass-by-refrence-to-const 替换pass-by-value

以上规则并不适用内置类型、STL的迭代器和函数对象

条款26:尽可能延后变量定义式的出现时间

条款36:绝不重新定义继承而来的non-virtual函数


关于template编程和template元编程的内容暂留

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569592.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity资源管理--AssetBundle学习

Unity资源目录 当用Unity创建一个工程的时候,目录如下: Assets:存放Unity工程实际的资源目录。 Library:存放Unity处理完毕的资源,由unity自动转化生成。 Log:存放日志文件。 Packages:统一管…

[读书笔记] 设计模式与游戏完美开发

最近在看《设计模式与游戏完美开发》,文章将记录一些要点和一些设计模式实现 GoF定义的23种设计模式及应用场景 系统设计可以采用的设计模式:单例、状态(场景切换)、外观(保证高内聚)、中介者&#xff08…

auto关键字

使用前&#xff1a; #include<string> #include<vector> int main() {std::vector<std::string> vs;for (std::vector<std::string>::iterator i vs.begin(); i ! vs.end(); i){//...} } 使用后&#xff1a; #include<string> #include<vect…

[读书笔记] 代码整洁之道

书的示例是Java语言编写的&#xff0c;虽说不会影响阅读&#xff0c;但是后面几章讲应用这套方法论的时候&#xff0c;大篇幅的Java代码分析还是挺难受的&#xff0c;而且连java测试框架Junit都要细讲&#xff0c;对于非Java系的开发者来说&#xff0c;一些内容确是云里雾里。 …

iOS开发——GPUImage源码解析

一、基本概念 GPUImage&#xff1a;一个开源的、基于openGL的图片或视频的处理框架&#xff0c;其本身内置了多达120多种常见的滤镜效果&#xff0c;并且支持照相机和摄像机的实时滤镜&#xff0c;并且能够自定义图像滤镜。同时也很方便在原有基础上加入自己的滤镜Filter&#…

[读书笔记] 敏捷软件开发:原则、模式与实践

关于面向对象编程的一些理解&#xff0c;这本书主要看六大原则的部分&#xff0c;书中关于设计模式的内容由于之前的那本《设计模式与游戏完美开发》已经很好的讲解了游戏开发领域的应用&#xff0c;所以不多关注。 面向对象的六大原则 单一职责原则SRP&#xff1a;一个类应该…

Caffe-SSD相关源码说明和调试记录

1 对Blob的理解及其操作&#xff1a; Blob是一个四维的数组。维度从高到低分别是: (num_&#xff0c;channels_&#xff0c;height_&#xff0c;width_) 对于图像数据来说就是&#xff1a;图片个数&#xff0c;彩色通道个数&#xff0c;宽&#xff0c;高 Blob中数据是row-…

[游戏策划] 读书笔记

交互式媒体最有趣的地方在于&#xff0c;它让玩家直面问题&#xff0c;思考、尝试各种解决方案&#xff0c;并体验各种解决方案的结果。然后玩家可以回到思考阶段&#xff0c;规划下一步行动。这种反复试错的过程中&#xff0c;玩家的脑海里就会构建出一个互动的世界。 [读书笔…

YAML_02 playbook的ping脚本检测

ansible]# vim ping.yml---- hosts: allremote_user: roottasks:- ping:ansible]# ansible-playbook ping.yml //输出结果转载于:https://www.cnblogs.com/luwei0915/p/10615360.html

ECS框架学习

DOTS Unity DOTS是Unity官方基于ECS架构开发的一套包含Burst编辑器和JobSystem的技术栈&#xff0c;它旨在充分利用多核处理器的特点&#xff0c;充分发挥ECS的优势。 安装 Entities、Burst、Jobs、Hybrid Renderer&#xff08;必选&#xff0c;用于DOTS的渲染相关&#xf…

辅助排序和Mapreduce整体流程

一、辅助排序 需求&#xff1a;先有一个订单数据文件&#xff0c;包含了订单id、商品id、商品价格&#xff0c;要求将订单id正序&#xff0c;商品价格倒序&#xff0c;且生成结果文件个数为订单id的数量&#xff0c;每个结果文件中只要一条该订单最贵商品的数据。 思路&#xf…

关于游戏开发流程的分析

问题 传统游戏开发过程中通常是&#xff1a;策划提出需求&#xff0c;美术制作需求中的资源&#xff0c;程序实现需求中的功能&#xff0c;并导入资源实现最终效果。你觉得策划、美术、程序三者在开发游戏的过程中应该是一种什么关系&#xff0c;是否存在多种开发模式&#xf…

Ubuntu18.04应用程序安装集锦

整理网上的资源&#xff1a; Python Web开发工具箱 ubuntu美化及超NB的zsh配置 api文档查询工具&#xff1a;zeal&#xff0c;dash(收费)转载于:https://www.cnblogs.com/johnyhe/p/10403967.html

final使用详解

final的使用及注意事项 final是一个可以修饰变量&#xff0c;方法&#xff0c;类的修饰符 final修饰的方法不能被重写 final修饰的类不能被继承 final修饰的变量为一个常量 final不能与abstract一起使用 注意&#xff1a;当final修饰一个变量时要么在声明时就给该变量赋值&…

[读书笔记] 史玉柱自述:我的营销心得

与下属的关系 从玩家角度设定目标 目标感的设计 论随机性 在前15分钟留住玩家 实际观察玩家对于游戏的翻译反应 好游戏是改出来的 注重细节 决策民主、责任人制度 论简单与复杂的关系 游戏经济中的投放与回收 避免进入降低压力的怪圈 创业初期的股份分配 单个行业…

记一次面试腾讯的奇葩经历

阅读本文大概需要 2.8 分钟。 作者&#xff1a;黄小斜 文章来源&#xff1a;微信公众号【程序员江湖】 ​ 上回说到&#xff0c;我腾讯面试出师不利&#xff0c;简历随即进入备胎池&#xff0c;不过没过多久&#xff0c;转机还是来了。 大概是一周之后&#xff0c;我的电话响起…

foot

码云链接&#xff1a;https://gitee.com/zyyyyyyyyyyy/codes/rcfdzmin4a82v975pl1ko47 效果图&#xff1a; 原网站截图&#xff1a; 源代码&#xff1a; <!DOCTYPE html><html><head><meta charset"UTF-8"><title></title><s…

jsp标签在JavaScript中使用时,可能会出现的一个问题。

直接上代码 1 <script type"text/javascript">2 var E window.wangEditor;3 var editor new E(#editor);4 // 或者 var editor new E( document.getElementById(editor) )5 editor.create();6 $(function () {7 $("#btn1&…

CTF小记录

WEB 题目都说了flag在index里所以可以直接构造payloadhttp://120.24.86.145:8005/post/index.php?filephp://filter/convert.base64-encode/resourceindex.php F12 抓包 Base64 Hackbar post get 代码审计 暴力解法 Url编码 本地登录&#xff1a;X-Forwarded-For: 127.0.0…