现在位置: 首页 > c++
1. 扎实的C,C++基础知识 参考资料《C程序设计》,《C++ primer》。 2. TCP/IP协议 经典书:W.Richard Stevens 著《TCP/IP详解》三卷书,卷1是协议,卷2是实现,卷3是TCP事务协议等。还有官方的协议文档:RFC.当然也可以在网上下载电子书。 经典的开源协议分析工具:Wireshark. 简单的开源TCP/IP协议栈:LwIP,或者Linux 1.0里包含的协议栈,当然也可以看看FreeBSD的TCP/IP协议栈。 3. 实际指导网络编程的书 Winodws平台,...
阅读全文
看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。 const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Use const whenever you need”。 1.用const 修...
阅读全文
2013-08-25 06:48 工业·编程 ⁄ 共 1618字 暂无评论
为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式。在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还是有一些细微的区别。     方式一     #ifndef __SOMEFILE_H__//为了防止重复的名字,通常采用文件名     #define __SOMEFILE_H__     ... ... // 声明、定义语句   ...
阅读全文
2013-08-18 06:32 工业·编程 ⁄ 共 6100字 暂无评论
     在那篇《在C#中使用C++编写的类》中介绍了如何在C#中使用C++编写的类。可是由于C#在用户界面设计、数据库存储和XML文件读取等方面的优势,有时候也会出现要在C++中使用C#编写的类的情况。下面就用一个完整的实例来说明怎样在C++中使用C#编写的类。     比如说,现在有一个用C#编写的DLL工程CsharpDll里面有一个Person类: // Person.cs using System; namespace CsharpDll { ...
阅读全文
2013-08-18 06:16 工业·编程 ⁄ 共 4785字 暂无评论
     现在在Windows下的应用程序开发,VS.Net占据了绝大多数的份额。因此很多以前搞VC++开发的人都转向用更强大的VS.Net。在这种情况下,有很多开发人员就面临了如何在C#中使用C++开发好的类的问题。下面就用一个完整的实例来详细说明怎样用托管C++封装一个C++类以提供给C#使用。     比如,现在有一个工程名为NativeCppDll的由C++编写的DLL,里面输出了一个CPerson类。下面是具体的代码...
阅读全文
2013-08-17 22:41 工业·编程 ⁄ 共 1297字 暂无评论
    在我的那篇“C++中虚析构函数的作用”中我说明了为什么作为基类的类的析构函数必须是虚函数,同时也指出:为了避免产生虚函数表,如果类不是基类的话,析构函数就不需要声明为虚函数。     但是,我们不能预料用户的行为,你不敢肯定用户是否会从你的类去派生自己的类。如果用户以一个基类指针去删除一个派生类的对象,就会发生派生类的析构函数不被调用的情况。这样做的危险性我想大家都知...
阅读全文
2013-08-17 22:38 工业·编程 ⁄ 共 946字 暂无评论
    有下面一个简单的类: class ClxTest { public:     ClxTest(int iSize = 13) { pszStr = new char[iSize]; }; ~ClxTest() { if(pszStr) delete []pszStr; };     lxOutput() { cout << pszStr << endl; }; private: char *pszStr; };     现在有下面的两行代码: ClxTest *pTest = new ClxTest(); ClxTest *pTest = ne...
阅读全文
   我在今年2月份写了篇《C++中接口与实现分离的技术》的文章,用一个很简单的例子说明了在C++中接口与实现分离的好处及实现方法。可是当时写那篇文章的时候,没有考虑到类与类之间的继承关系。下面我就来具体的谈谈这个方面。还是以上面提到的那篇文章中的例子来说明。 执行类:     lxImplement.h文件内容: #include "lxTest.h" class ClxImplement   { public:  ...
阅读全文
第1章 致读者 [1] 在编写程序时,你是在为你针对某个问题的解决方案中的思想建立起一种具体表示。让程序的结构尽可能地直接反映这些思想:     [a] 如果你能把“它”看成一个独立的概念,就把它做成一个类。     [b] 如果你能把“它”看成一个独立地实体,就把它做成某个类的一个对象。     [c] 如果两个类有共同的界面,将此界面做成一个抽象类。     [d]...
阅读全文
    大学的时候学校开了C++的课程,我考的还不错。毕业后就一直搞软件开发,大概一年前开始用VC做项目。最近静下心来看了C++的经典著作《Effective C++ 》,才发现自己的C++水平其实真的很一般!书中提到的有些东西,我竟然从来没有注意过!还有些竟然是我第一次听说! 下面以实例说明(我用我写的更小的例子代替了书中的例子,书中原文我用红色标示)。 1.关于类成员的初始化顺序问题  ...
阅读全文