自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DotScylla

博学、审问、慎思、明辨、笃行五者,废其一,非学也

  • 博客(24)
  • 收藏
  • 关注

原创 More Effective C++读书笔记---技巧

技巧二十五、条款25--将构造函数和非成员函数虚拟化1.虚拟构造函数是指能够根据输入给它的数据的不同而建立不同类型的对象2.被派生类重定义的虚拟函数不用必须与基类的虚拟函数具有一样的返回类型。如果函数的返回类型是一个指向基类的指针(或一个引用),那么派生类的函数可以返回一个指向基类的派生类的指针(或引用)3.就像构造函数不能真的成为虚拟函数一样,非成员函数也不能成为真正的虚拟函数。然而,既

2010-05-12 11:29:00 738

原创 More Effective C++读书笔记---效率

效率在用C++写出高效地程序之前,必须认识到C++本身绝对与你所遇到的任何性能上的总是无关。如果想写出一个高效的C++程序,你必须首先能写出一个高效的算法十六、条款16--牢记80-20准则(80-20 rule)1.80-20准备说的是大约定俗成20%的代码使用了80%的程序资源;大约20%的代码耗用了大约80%的运行时间;大约20%的代码使用了80%的内存;大约20%的代码执行80%的磁盘访问

2010-04-07 14:34:00 810

原创 More Effective C++读书笔记---异常

异常如果你需要一个方法,能够通知不可被忽略的异常状态,并且搜索栈空间以便找到异常处理代码时,你还得确保局部对象的析构函数必须被调用,这时你就需要使用C++的异常处理九、条款9--使用析构函数防止资源泄漏1.ALA* pa = readALA( dataResource );pa->processAdoption();delete pa;如果processAdoption()抛出异常,process

2010-03-25 10:52:00 752

原创 More Effective C++读书笔记---运算符

运算符重载,允许给予你的自定义类型有着和C++内建类型完全相样的语法,更有甚者,它们允许你将强大的能量注入到运算符背后的函数体中。然而它也是很难驾驭的,单参数的构造函数和隐式类型转换尤其棘手,因为它们会被调用在没有任何的源代码显示了这样的调用的地方五、条款5--谨慎定义类型转换函数1.C++编译器能够在两种数据类型之间进行隐式转换(implicit conversions),它继承了C语言的转换方

2010-03-18 13:19:00 1034

原创 More Effective C++读书笔记---基础议题

pointers(指针)、references(引用)、casts(类型转换)、arrays(数组)、constructors(构造)--再没有比这些更基础的议题了。几乎最简单的C++程序也会用到其中的大部分特性一、条款1--指针与引用的区别1.首先要认识到任何情况下都不能使用指向空值的引用,一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任

2010-03-16 11:32:00 1108

原创 Effective C++读书笔记---杂项讨论

五十三、条款53-不要轻忽编译器的警告1.严肃对待编译器发出的警告消息。努力在你的编译器的最高(最严苛)警告级别下争取“无任何警告”的荣誉2.不要过度倚赖编译器的报警能力,因为不同的编译器对待事情的态度并不相同。一旦移值到另一个编译器上,你原本倚赖的警告信息有可能消失五十四、条款54-让自己熟悉包括TR1在内的标准程序库1.C++标准程序库主要机能由STL、iostreams、locales组成。

2009-12-15 10:32:00 723

原创 Effective C++读书笔记---定制new和delete

多线程环境下的内存管理,遭受单线程系统不曾有过的挑战。由于heap是一个可被改动的全局性次源,因此多线程系统充斥着发狂访问这一类资源的race conditions(竞速状态)出现机会。四十九、条款49-了解new-handler的行为1.当operator new抛出异常以反映一个未获满足的内存需求之前,它会先调用一个客户指定的错误处理函数,一个所谓的new-handler。为了指定

2009-12-07 10:51:00 631

原创 Effective C++读书笔记---模板与泛型编程

C++ template机制身自是一部完整的图灵机(Turing-complete):它可以被用来计算任何可计算的值。于是导出了模板元编程(template metaprogramming),创建出“在C++编译器内执行并于编译完成时停止执行”的程序四十一、条款41-了解隐式接口和编译器多态1.class和template都支持接口(interfaces)和多态(polymorphis

2009-12-04 14:10:00 930

原创 Effective C++读书笔记---继承与面向对象设计

如果你了解C++各种特性的意义,你会发现,你对OOP的看法改变了。它不再是一项用来划分语言特性的仪典,而是可以让通过它说出你对软件系统的想法。一旦你知道该通过它说些什么,转移至C++世界也就不再是可怕的高要求了三十二、条款32-确定你的public继承塑模出is-a关系1.is-a并非唯一存在于classes之间的关系。别两个常见的关系是has-a(有一个)和is-implemented-in-t

2009-12-02 13:10:00 802

原创 Effective C++读书笔记---实现

大多数情况下,适当提出你的classes(和class templates)定义以及functions(和function templates)声明,是花费最多心力的地方。一旦正确完成它们,相应的实现大多直截了当。尽管如此,还是有些东西需要小心。太快定义变量可能造成效率上的拖延;过度使用转型(casts)可能导致代码变慢又难维护,可能招来微妙难解的错误;返回对象“内部数据之号令牌(handles)

2009-12-01 12:31:00 770

原创 Effective C++读书笔记---设计与声明

所谓软件设计,是“令软件做出希望它做的事情”的步骤和做法,通常以颇为一般性的构想开始,最终演变成十足的细节,以允许特殊接口的开发十八、条款18-让接口容易被正确使用,不易被误用1.首先必须考虑客户可能做出什么样的错误2.明智而审慎地导入新类型对预防“接口被误用”有神奇疗效3.预防客户错误的另一个办法是,限制类型内什么事可做,什么事不可做。常见的限制是加上const4.很少有其他性质比得上“一致性”

2009-11-27 20:28:00 809

原创 Effective C++读书笔记---资源管理

所谓资源就是,一旦用了它,将来必须还给系统。如果不这样,槽糕的事情就会发生。C++程序中最常用的资源就是动态分配内存,还包括文件描述器(file descriptors)、互斥锁(mutex locks)、图形界面中的字形和笔刷、数据库连接、以及网络sockets。不论哪种,当你不再使用时,必须将它还给系统十三、条款13-以对象管理资源1.为防止资源泄漏,请使用RAII(“以对象管理资源”的观念常

2009-11-24 15:44:00 819

原创 Effective C++读书笔记---构造/析构/赋值运算

五、条款05-了解C++默默编写并调用哪些函数1.class中,当C++处理过它之后,如果自己没声明任何函数,编译器就会为它声明一个default构造函数、一个copy构造函数、一个copy assignment操作符和一个析构函数。惟有当这些函数被需要(被调用),它们才会被编译器创建出来。编译器产生的析造函数是个non-virtual,除非这个class的base class自身声明有virtu

2009-11-23 15:08:00 769

原创 Effective C++读书笔记---让自己习惯C++

导读1.做一个有“线程概念”的程序员一、条款01-视C++为一个语言联绑1.C++是个多重范型的语言(multiparadigm programming language),一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(generic)、元编程形式(metaprogramming)的语言2.C++并不是一个

2009-11-23 15:00:00 760

原创 C/C++问答(3):关于构造和析构函数使用多态

问:在构造或析构期间能使用虚函数吗? 答:能,但最好不要这么做。前两天在公司游戏项目开发过程中,在析构函数中不小心调用了虚函数,而且还是个纯虚函数。因为一直是在Rlease模式下工作的,导致系统直接终止客户端,虽然控制台有打印这个错误,但终止太快,也没看到。切换在Debug下调试,则会报R6025 -pure virtual function call 的运行时错误。当然,如果

2009-11-19 15:55:00 1027

原创 初始化Direct3D

 初始化D3D:一、获得一个IDirect3D9接口指针。这个接口指针用于获得物理设备的信息和创建一个IDirect3DDevice9接口IDirect3D9 * Direct3DCreate9(  UINT SDKVersion        // 总是D3D_SDK_VERSION );                  // Direct3DCreate9(MSDN)

2009-11-02 16:33:00 864

转载 Visual Studio Hot Keys

by Mark Shiffer   转载地址:http://www.mssoftwareconsulting.com/msswc/blog/post/Reformat-Code-in-Visual-Studio.aspx Reformat Code: CTL-K, CTL-D reformats code Collapse Cod

2009-10-21 13:55:00 874

原创 C/C++基础问答(2):C和C++函数互相调用,extern "C"的作用

问:c调用c++   和   c++调用c时  所使用的extern "c"有什么区别呢?能给个例子吗?谢谢答:使用extern "C" 主要是因为C编译器编译函数时不带参数的类型信息,只包含函数的符号名字。如 int foo( float x )C编译器会将此函数编译成类似_foo的符号,C连接器只要找到了调用函数的符号,就认为连接成功

2009-10-10 11:34:00 955

原创 C/C++基础问答(1):通过初始化列表和构造函数内赋值初始化成员变量的区别

 问:定义了一个Point类 如下:class Point{public: Point():_x(0),_y(0){}; Point( int x, int y ):_x(x),_y(y){}private: int _x, _y;}; 不知道类构造函数中:_x(x),_y(y)是什么意思? 答:这是对类的成员变量进行初始化 一般我们进行成员变量

2009-09-07 23:01:00 1110 1

原创 关于Windows内核对象

前言:为了巩固和增进多线程方面的知识,捧起了Jeffrey Richter和Christophe Nasarre的精典力作《Windows核心编程--第五版》,做些笔记,供日后再巩固和增进时之用。PS:1) 如需转载,注明出处,不胜感激; 2) 如侵您版权,请及时通知,速处理之1、概念   使用计数   安全性2、进程内核对象的句柄表   创建内

2009-08-10 17:33:00 1779 1

翻译 Speex手册----Speex编/解码API的使用(libspeex)

前言:Speex官网:http://speex.org/ 可以再Documentation下找到PDF版或HTML OL版的英文手册。可能会由于英文技能的匮乏或语音解码领域的不熟悉会有翻译错误,所以每段我都会付上英文原段落,也望各位发现后能够不吝赐教,大家共同进步。 PS: 1) 如需转载,注明出处,不胜感激; 2) 如侵您版权,及时通知,速删之 5.1 编码5

2009-08-08 19:49:00 13882 6

翻译 Speex手册----编解码介绍

前言:Speex官网:http://speex.org/ 可以再Documentation下找到PDF版或HTML OL版的英文手册。可能会由于英文技能的匮乏或语音解码领域的不熟悉会有翻译错误,所以每段我都会付上英文原段落,也望各位发现后能够不吝赐教,大家共同进步。 PS:如需转载,注明出处,不胜感激 2.1 概念    采样率    比特率    质量(可变)

2009-08-03 00:04:00 7926 4

翻译 Speex手册----Speex 简介

前言:没搜到Speex相关的中文资料,所以想将Speex的英文手册中会用到的部分翻译出来。Speex官网:http://speex.org/ 可以再Documentation下找到PDF版或HTML OL版的英文手册。每段我都会付上英文原段落,可能会由于英文技能的匮乏或语音解码领域的不熟悉会有翻译错误,也望各位发现后能够不吝赐教,大家共同进步。PS:如需转载,注明出处,不胜感激 简介

2009-08-02 02:11:00 4857

原创 VOIP技术介绍

前言:很多朋友开了类似的的技术博客,想想蛮好,既可以共享给感兴趣的同学参考,又便于自己温顾而知新,何乐而不为?最近因为项目需要,接触到VOIP,因此收集、整理了一些VOIP的资料进行学习,也做了些总结,便于日后回顾。 PS:如需转载,注明出处,不胜感激   一、什么是VOIP二、VOIP的发展简史三、VOIP的基本原理     1.语音-数据转换     2

2009-07-27 00:59:00 4323 1

空空如也

空空如也

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

TA关注的人

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