Effective C++回顾(1)

原创 2006年05月22日 22:53:00

学习Effective C++已经很长时间,其中自己也把一些条款应用到日常工作中了,今天再次翻开此本,仍然发现一些新的内容和对一些已知内容有了新的理解。

“学会一种程序设计语言,是一回事儿;学会如何以此语言设计并实现有效的程序,又是一回事儿。”这是导读中的第一句话,自己也是一个项目经理,也有几个项目成员,有些是新进公司的人员,他们能够使用C++语言进行开发,可是写出来的代码总是有这样那样的问题,正是应了Effective C++中的这句话。

 

条款1:尽量以constinline取代#define

在我们程序中,大部分的代码都已经这样处理了。可是我认为,#define还是在程序中起到很大的作用。象MFC,就大量的使用了#define的预编译功能来实现一些复杂的功能。是不是采用constinline取代#define还是要取决于当前实现的功能。比如象消息映射一些功能,就很难用constinline取代。

 

条款2:尽量以<iostream>取代<stdio.h

自己在代码中从来没有用过iostream来格式化字符串和输出。对于输出一般更多的用于程序的调试,对于格式化字符串,这个又显的比较复杂,由于一般在代码很少需要输出很多的类中的结构信息,更多的还是字符串的操作。对于格式化字符串,由于代码中大量的使用CString类,所以CString::Format可以非常好的完成任务,对于输出一般采用的是OutputDebugString,这个函数需要传入的是一个C字符串,所以也就没有用于任何iostream上的功能。当然在项目中也有很多的时候需要输出到一个文件中,对于这种类型,如果是采用MFC来写的话,MFC已经提供类似的功能。如果程序中没有使用MFC来写,由于一些Unicode方面和文件处理的要求,很少会使用到iostream来处理。

 

待续

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Effective Modern C++ Item 1

当一个复杂的系统的用户不知系统是如何工作的,仍对其所做的感到满意。按照这样的标准,C++中的模板类型推导是非常成功的。数以百万的程序员向模板函数传递参数并得到完全满意的结果。尽管许多程序员很难解释这些...

《Effective Modern C++》Item 1总结

理解模板类型推导总结

<<Effective C++>>笔记1

Chapter 1 Item 1: Rules for effective C++ programming vary, depend on the part of C++ you are using...

Effective C++(1-2) 编译器替换预处理器

1 C++最主要的四部分: CObject-Oriented C++: 面向对象Template C++:泛型编程STL C++高效编程守则视状况而变化,取决于你使用C++的哪一部分。 ...

Effective C++第二章-构造,析构,赋值-1

编译器可暗自为类创建default构造函数、copy构造函数、copy 赋值操作符和析构函数当你写一个空类class Empty{};如果你自己没有声明,则编译器会声明一个copy构造函数、一个cop...

Effective C++之std::tr1::shared_ptr的使用

Effective C++之std::tr1::shared_ptr的使用

Effective c++条款1-2总结

开始看Effective c++里面有一些自己不知道的特殊名词和一些应该知道的知识感觉自己不懂,通过查找资料总结了一下希望对自己和其他人有用 1、符号表 英语为symbol table, 翻译成"符号...

<Effective Mordern C++>笔记:Item 1: Understand the template type deduction.

写在前面: 基础的东西学完之后,最好的进阶方式就是项目+啃书了,项目也在准备当中,啃书还是绝对不能落下的。现在C++11/14已经成为主流,正好在图书馆借到了《Effective Mordern ...

[effective modern c++][1]理解模板类型推断

effective modern c++ 读书笔记,第一章,理解模板类型推断

Effective C++笔记(1)

0、导读      本书的最佳用途就是彻底了解C++如何行为、为什么那样行为,以及如何运用其行为形成优势。      声明式(declaration)是告诉编译器某个东西的名称和类型(type),但略...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)