自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (6)
  • 收藏
  • 关注

翻译 条款28:避免返回handles指向对象内部成分

假如定义一个矩形。为了让Rectangle对象尽可能小,我们不会把定义的这些点(左上角和右下角)置于对象内,而是用一个辅助struct再去指向它。如下代码: class point //点类 { public: point(int x,int y); ... void setX(int val); void setY(int val); ... }; str

2015-01-18 09:48:36 359

翻译 条款27:尽量少做转型动作

C++的设计目标之一是保证“类型错误”绝不会发生。但转型(cast)破坏了类型系统(type system). 旧式转型,C风格的转型动作,如下: (T)tmp     //将tmp转型为T T(tmp)     //同上,函数风格的转型动作 C++提供四种新式转型(new-style或C++-style casts) 1、const_cast (tmp)   通常用来将对象的

2015-01-16 20:03:39 323

转载 iOS消息推送机制的实现

iOS消息推送机制的实现 iOS消息推送的工作机制可以简单的用下图来概括:   Provider是指某个iPhone软件的Push服务器,APNS是Apple Push Notification Service的缩写,是苹果的服务器。   上图可以分为三个阶段: 第一阶段:应用程序把要发送的消息、目的iPhone的标识打包,发给APNS。  第二阶段:APNS在自身的

2015-01-16 15:49:53 254

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

尽可能延后变量定义的出现,这样可以增加程序的清晰度并改善程序效率。   当定义一个变量(尽管从未使用),当程序控制流到达这个变量定义时,仍然会耗费构造和析构成本。 考虑下述代码: //过早定义变量s1 std::string fun1(const std::string& s1) { using namespace std;

2015-01-15 10:50:42 465

转载 动态规划1

1,什么是动态规划(DP)?   只有对概念理解深刻,才能准确知道对于什么样的问题去考虑有没有动态规划的方法,以及如何去使用动态规划。 1)动态规划是运筹学中用于求解决策过程中的最优化数学方法。多阶段决策过程中最优的通用方法。 它是数学中用于求解某类最优化问题的重要工具。   2)如果问题是由“交叠的子问题”构成,我们就可以用动态规划技术来解决,一般来说,这样的子问题出现在对给定

2015-01-14 16:23:33 525

翻译 条款25:考虑写出一个不抛出异常的swap函数

swap原本只是STL的一部分,后面成为异常安全编程的脊柱,及处理自我赋值安全性的一个常见机制。 例子:标准程序库提供的swap算法 namespace s td{ template void swap(T& a,T& b) //std::swap的典型实现 { T tmp(a); a=b; b=tmp; } }要求:类型T支持copying(通过copying构造函数和copya

2015-01-14 14:50:21 442

翻译 条款24:若所有参数都需要类型转换,请为此采用non-member函数

如果你需要为某个函数的所有参数(包括this指针所的那个隐喻参数)进行类型转换,那么这个函数必须是non-member 例子: class Rational { public: Rational(intnumerator=0, int denominator=1); //不是explicit,为了支持混合运算

2015-01-12 19:45:16 764

翻译 条款23、宁以non-menber、non-friend替换成员函数

考虑以下browser类: class WebBroswer { public: ... voidclearCache(); voidclearHistory(); voidremoveCookies(); ... };很多人会想到提供一函数执行一系列操作:class WebBrows

2015-01-11 15:20:21 744

翻译 条款22、将成员变量声明为private

假设有一个public成员变量,当取消它时、所有使用它的客户代码都会被破坏。因此public成员变量完全没有封装性。 假设有一个protected成员变量,当取消它时、所有使用它的derived classes都会被破坏。 所有反对public成员变量的论点同样适用于protected。其封装性并不比public好   语法一致性:使用不同的访问权限可以使函数对成员变量的处理有更精确

2015-01-11 10:55:55 523

翻译 条款21、必须返回对象时,别妄想返回其reference

条款20提到了传值带来的效率问题,从而会使人犯下一些错误:开始传递一些引用指向其实并不存在的对象。 考虑一有理数类: class Rational { public: Rational(intnumerator=0,int denominator=1); //条款24解释此函数为什么不声明为explicit private: intn,d; //分子

2015-01-09 15:38:29 386

翻译 第20条:尽量使用“引用常量”传参代替传值

默认情况C++以传值方式传递对象至函数(继承自C语言的特征)。除非另外指定,否则函数参数都是以实际实参的复件(副本)为初值,并且,函数调用者得到的也是函数返回值的一个副本。这些副本是由对象的拷贝构造函数创建。这使得“传值”成为昂贵的操作。考虑以下class继承体系: class Person { public: Person(); // 为简化省略参数表 virtual ~Pers

2015-01-08 20:34:08 785

Visual AssistX for VS2017

找了好多个版本的番茄助手,要么不能用,要么分太多,但最后还是找了一个,亲测能用。适用于VS2017及以下的vs版本。资源下载没有0积分设置,最低积分是1分,供有需求的朋友下载。

2019-01-22

深入应用C++11 代码优化与工程级应用完整版 pdf

找了好些链接,要么不完整,要么分太高。看到好多下载链接都要10多分才能下,下载后特意上传了下。资源分好像最低要2分,选了最低的。这个版本是没带目录的,先上传下,后续看完再更新增加的目录书签版本,希望帮助到大家。

2018-02-27

TCP_UDP测试工具

TCP_UDP测试工具 包含TCP,udp服务器,支持创建tcp连接,udp连接等

2017-06-10

TCP-UDP调试助手

该工具包含TCP服务器, UDP服务器,TCP及UDP客户端及相关的网络抓包工具等,便于日常学习开发使用

2017-06-10

WINCE下CH340,CH341驱动

WINCE下CH340,CH341驱动

2017-06-01

FileTool.ext

VC6.0和Visio都是开发者常用的工具,但是他们却存在冲突。当两个软件同时安装在一台机器上时,如果在 VC6.0中的“FileView”右键点“add files to folder”或者在Project菜单点Add to project --Files都会报devshl.dll出错。

2014-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除