内容列表
- Guru of the Week 条款01: 变量的初始化
- GotW #01 Variable Initialization
著者:Herb Sutter
翻译:kingofark
[声明]:本文内容取自www.gotw.ca网站上的Guru of the Week栏目,其著作权归原著者本人所有。译者kingofark在未经原著者本人同意的情况下翻译本文。本翻译内容仅供自学和参考用,请所有
- 分类:编程语言 查阅全文
- 对于(学习c++)的c程序员的建议
- 出自c++ programming language 1.6.1节 翻译的不好请大家指教
对于c程序员的建议
一个人越熟悉c,就越难避免写c模式的c++程序。因此,会丢失一些潜在的c++的优点。请看附录B,它描述了c和c++的不同。这里有几点是使用c++模式的程序比c程序的模式要好。 1。宏从来没有必要在c++中,使用c
- 分类:编程语言 查阅全文
- 远去的DOS
- 远去的DOS
在VCHELP论坛上,版主闻怡祥发表了一篇文章:《远去的代码》,其中的一段话如下:”在的开发已经越来越依赖于鼠标,让我感到一个程序员的成就感和编写代码时的乐趣越来越少(从整个项目来讲这是件好事)。开发人员在以后对于代码的控制能力也将会越来越差,因为系统已经为你做了很多事情。去年我本来以为学习VC
- 分类:编程语言 查阅全文
- More Effective C++ 条款20
- 条款20:协助完成返回值优化
一个返回对象的函数很难有较高的效率,因为传值返回会导致调用对象内的构造和析构函数(参见条款19),这种调用是不能避免的。问题很简单:一个函数要么为了保证正确的行为而返回对象要么就不这么做。如果它返回了对象,就没有办法摆脱被返回的对象。就说到这。
考虑rational(有理数)类的成员函数operator*:
class Rational {
public:
- 分类:编程语言 查阅全文
- Guru of the Week 条款13:面向对象程序设计
- GotW #13 OOP
著者:Herb Sutter
翻译:kingofark
[声明]:本文内容取自www.gotw.ca网站上的Guru of the Week栏目,其著作权归原著者本人所有。译者kingofark在未经原著者本人同意的情况下翻译本文。本翻译内容仅供自学和参考用,请所有阅读过本文的人不要擅自转载、传播本翻译内
- 分类:编程语言 查阅全文
- More Effective C++ 条款21
-
条款21:通过重载避免隐式类型转换
以下是一段代码,如果没有什么不寻常的原因,实在看不出什么东西:
class UPInt { &
- 分类:编程语言 查阅全文
- More Effective C++ 条款22
-
条款22:考虑用运算符的赋值形式(op=)取代其单独形式(op)
大多数程序员认为如果他们能这样写代码:
x = x + y; x = x - y;
- 分类:编程语言 查阅全文
- C++中的模板(templates)
-
作者:苗新东
什么是模板
模板是根据参数类型生成函数和类的机制(有时称为“参数决定类型”)。通过使用模板,可以只设计一个类来处理多种类型的数据,而不必为每一种类型分别创建类。
例如,创建一个类型安全函数来返回两个参数中较小的一个,如果不使用Templates,必须要编写一系列如下的函数:// min f
- 分类:编程语言 查阅全文
- C++模板的定制一:定制函数模板
- 前言
C++模板是C++的扩展,模板为C++注入了新的活力。C++模板分为函数模板和类模板。C++模板对于大多数C++程序员并不陌生。C++模板有一定的定制特性。
C++模板的定制一:定制函数模板
函数模板的基本语法如下:
&nbs
- 分类:编程语言 查阅全文
- C++模板的定制二:定制C++类
-
C++模板的定制二:定制C++类
类模板的基本语法如下:
template <typename T>
class classname
{
&
- 分类:编程语言 查阅全文
- 消息处理:利用控件的动态派生[RunTime],为控件添加该控件未定义的消息映射
- 问题:以TPageControl为例,程序中需要“鼠标左键双击”关闭某激活页[如腾讯浏览器]。 因该控件没有定义鼠标双击事件,只有自己为该控件添加消息映射。映射的消息为: 左键双击(WM_LBUTTONDBLCLK)。本文利用运行时间派生控件的方法实现,较自己 &nbs
- 分类:编程语言 查阅全文
- Guru of the Week 条款02: 临时对象
- GotW #02 Temporary Objects
著者:Herb Sutter
翻译:kingofark
[声明]:本文内容取自www.gotw.ca网站上的Guru of the Week栏目,其著作权归原著者本人所有。译者kingofark在未经原著者本人同意的情况下翻译本文。本翻译内容仅供自学和参考用,请所有阅读过本文的
- 分类:编程语言 查阅全文
- 思考c++编程-译自c++ programming language 1.7节
- 思考c++编程 理想的状态下,你完成一个程序设计任务分为三步。第一,你必须清楚的理解问题(分析analysis),然后,你要定义在解决方案中关键的概念(设计design),最后,你必须以程序的方式表达出解决方案(编程programming)。然而,解决方案中的问题和(关键)概念只有通过在程序中努力的表达和运行程序的结果才能够清晰的表达,这就是选择编程语言的麻烦之
- 分类:编程语言 查阅全文
- 再造一个WinZip ——C++流技术面向对象分析与设计(一)
-
再造一个WinZip
——C++流技术面向对象分析与设计
**************************************************
- 分类:编程语言 查阅全文
- <kingofark关于学习C++和编程的50个观点> 详解 - 预览版
-
Explanatory Notes On <K's 50 PV> Preview
<K's 50 PV详解> 预览版
[注]:<K's 50 PV>是《Kingofark's 50 Points of View About Learning C++ And Programming》(kingofark关于学习C++和编程的50
- 分类:编程语言 查阅全文
- c++对象的放置
- (声明:本文参考了《深度探索c++对象模型》这本书,我连例子都和此书一样,如有人认为是偷的话,还请各位原谅,^_^) 经历过从c到c++的人,一定想知道c++编译器是如何安排类的成员的.这里我 大概的作一下介绍,并有一些代码供你进行测试,希望对大家有点作用吧. 其实这里的标题或许有点大了,简单的说,类的非static成员是按照声明的顺序 存放在内
- 分类:编程语言 查阅全文
- More Effective C++ 条款25
- 技巧
本书涉及的大多数内容都是编程的指导准则。这些准则虽是重要的,但是程序员不能单靠准则生活。有一个很早以前的卡通片叫做“菲利猫”(Felix the Cat), 菲利猫无论何时遇到困难,它都会拿它的trick包。如果一个卡通角色都有一个trick包,那么C++程序员就更应该有了。把这一章想成你的trick包的启动器。
当设计C++软件时,总会再三地受到一些问题的困扰。你如何让构造函数和非成员
- 分类:编程语言 查阅全文
- 从free(p)到delete[]p
- 曾经有一个朋友提过这样一个问题,malloc动态分配的内存的生存周期是多少??当时直接回答,当然是在调用free进行释放之前阿!!但回头我仔细想过这个问题,在free调用之前那段范围内,但free只有一个指针参数,它是如何知道要释放多少空间呢??比如:
int*pInt=(int*)malloc(10*sizeof(int));
…….;
free(p);
这里free是如何
- 分类:编程语言 查阅全文
- STL程序设计实践四:简化输入和提高可维护性
-
STL程序设计实践四:简化输入和提高可维护性
STL存在于C++标准库的std空间中,当你使用std空间中的类型时必须在前面加上std::,否则必须在程序中加入如下语句:
using namespace std;
把std引入到全局空间,这样就不用输入std::了,方便了我们输入。但当你要需要使用STL中的容器声
- 分类:编程语言 查阅全文
- Guru of the Week 条款14:类之间的关系(上篇)
- GotW #14 Class Relationships Part I
著者:Herb Sutter
翻译:kingofark
[声明]:本文内容取自www.gotw.ca网站上的Guru of the Week栏目,其著作权归原著者本人所有。译者kingofark在未经原著者本人同意的情况下翻译本文。本翻译内容仅供自学和参考用,请所有阅读过
- 分类:编程语言 查阅全文